5

Github.com でフォークされたオープンソース プログラムである Chrome 拡張機能を開発しています。拡張機能には、OAuth 2.0 クライアント ID を必要とする Google Drive API が必要です。ただし、クライアント ID の作成中に、リダイレクト URI を提供する必要がありますが、リダイレクト ドメインはありません。これは、Google Drive API を使用できないということですか、それとも回避策はありますか?

ありがとう!

4

3 に答える 3

2

あなたはただ使うことができます:http://localhostそれはうまくいくはずです。

この最大のことは、指紋を取得してから API キーを取得することです。

于 2013-02-25T22:15:11.573 に答える
2

はい、Drive API を使用できますが、スコープ、クライアント ID、クライアント シークレットを提供し、js クライアントをロードして API 呼び出しを行うだけで、Google JS クライアントを使用する必要があります。しかし、JavaScript オリジンでは、Chrome 拡張 ID (chrome-extension://abcdefghijklmnopqrstuvwxyx) が必要です。

以下の機能はあなたにとって便利です

// on client load call this function
var handleClientLoadAuto = function () {

    gapi.client.setApiKey(apiKey);
    window.setTimeout(checkAuthAuto, 1);
}

var checkAuthAuto = function () {
    gapi.auth.authorize({
        client_id: clientId,
        scope: 'scope here',
        immediate: true
    }, handleAuthResultAuto);
}

すべてがOKの場合:

var handleAuthResultAuto = function (authResult) {

    if (authResult && !authResult.error) {
        //do call to drive api using 
        gapi.client.load('drive', 'v2', function () {

                var request = gapi.client.drive.files.list(params);
                request.execute(function (resp) {
                    if (resp && resp.error) {
                        //call to error callback function
                        //handleError(resp);
                    } else {
                        //ok response
                    }

                });
            }
        } else {}
    }

ただし、これを使用するにはログインする必要があります。そうしないと、認証が検出されません。

于 2013-03-01T11:39:51.350 に答える
1

登録できる特別な URI があります。

https://<extension-id>.chromiumapp.org/<anything-here>

ブラウザーは、実際に URL に移動するのではなく、リダイレクトをキャッチしてコードをトリガーします。

詳細はこちらをご覧ください:

https://developer.chrome.com/apps/app_identity#register_provider

この場合、拡張 ID を固定する必要があることに注意してください。

于 2015-08-15T08:42:06.603 に答える