2

Chrome 拡張機能で新しいドロップボックス データストア API を使用しようとしています。チュートリアルで指定されているとおりに使用すると、認証はエラー 400 で失敗します。

Invalid redirect_uri: "chrome-extension://anzbpdekhbhcbekwmfazaophjcaabshl/chrome_oauth_receiver.html". It must exactly match one of the redirect URIs you've pre-configured for your app (including the path)

この URL を Dropbox Web サイトのアプリ プロファイルに追加すると、すべて正常に動作します。ただし、「anzbpdekhbhcbekwmfazaophjcaabshl」はコンピューター固有の値であり、各ユーザーの拡張機能のインストールごとに異なります。これを何らかの方法で修正することは可能ですか、またはドロップボックス データストア API は、リダイレクト URL がわかっている静的な Web サイトで使用することを意図していますか?

更新 1

手動/非公開の拡張機能のインストールでは、拡張機能 ID はランダムです。

更新 2

拡張機能 ID を永続化する方法を見つけました。それをパックし、秘密の .pem キーから公開キーを生成し、このキーの base-64 でエンコードされた値をマニフェストで「キー」として設定します。

4

2 に答える 2

4

コメントを回答に移動します(詳細については、質問の更新を参照してください):

拡張機能 ID (chrome-extension:// の直後の部分) は、ユーザー固有またはコンピューター固有ではなく、Chrome 拡張機能がインストールされているすべての場所で同じままであると考えました。

于 2013-10-11T16:56:54.187 に答える
1

Firefox 拡張機能から Datastore API を正常に使用しています。トリックは、ドロップボックス スクリプトをローカル ページではなく、実際の Web ページに添付することです。サーバーでホストされている空白のページがあり、拡張機能がそのページを開き、必要なスクリプトを添付しました。そこから、ユーザーを Dropbox 認証ページにリダイレクトします。

ユーザーが認証されたら、ページ ワーカー API を使用して「ヘッドレス」タブで同じページを開きます。(Chrome拡張機能に同等の機能があるかどうかはわかりません)

リダイレクト URL は https でなければならないため、動作させるには SSL 証明書を取得する必要があります。

于 2013-10-11T07:08:45.180 に答える