1

ウェブページで見つかった画像をドロップボックスに保存するためのクロム拡張機能を作成しています。これを行うためにドロップインセーバー APIを使用しようとしていますが、「ドロップボックスに保存」リンクをクリックするとエラーが発生します。

私が受け取るエラーは次のとおりです。

{"エラー": "オリジンがどのアプリ ドメインとも一致しません"}

GET リクエストを調べると、次のことがわかります。

GET https://www.dropbox.com/saver?origin=chrome-extension%3A%2F%2Fogmklfknlcgklhfljkcijikghbnghcal&app_key=MYDROPBOXKEY 403 (OK)

エラーと 403 により、Chrome 拡張マニフェスト ファイルでのアクセス許可の宣言に問題があると思われました。ただし、ドキュメントに従って機能すると思われることを試してみましたが、同じ結果が得られました。私のマニフェストファイルは次のとおりです。

{
  "name": "Pic Grabber",
  "version": "1.0",
  "permissions": [
    "activeTab",
    "tabs", "<all_urls>", "background", "http://*/", "https://*/", "http://*/*", "https://*/*", "https://www.dropbox.com/*"
  ],
  "content_scripts": [{
        "js": ["grabber.js"],
        "matches": ["http://*/", "https://*/", "http://*/*", "https://*/*", "https://www.dropbox.com/*"]
    }],
  "background": {
    "scripts": ["background.js"],
    "persistent": false
  },
  "browser_action": {
    "default_title": "Download pictures from this page.",
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  },
  "manifest_version": 2,
  "content_security_policy": "script-src 'self' https://www.dropbox.com/static/api/1/dropins.js; object-src 'self'"
}

明らかな何かが欠けていると思いますが、指を置くことができないようです。私のマニフェストでは、必要なすべてのクロスオリジン アクセス許可が指定されているようです。正しい方向への微調整は大歓迎です。

ありがとう!

4

2 に答える 2

4

Dropbox Saver Dropin は、アプリの登録時に指定されたドメインのリストに対して、ボタンが表示/使用されているドメインをチェックします。

これは Chrome 拡張機能であるため、通常のタイプのドメイン名はありません。代わりに、Dropbox アプリ コンソールのドロップイン ドメインに Chrome 拡張機能 ID を追加する必要があります。

拡張機能 ID は ogmklfknlcgklhfljkcijikghbnghcal です (投稿したドロップボックス URL の origin 値に表示されます)。これをドメインのドロップに追加すると、正常に動作するはずです。

于 2013-10-30T15:31:13.407 に答える
0

このエラーは Dropbox から発生していると思われます。これは、Dropbox Saver の呼び出し元のページが、App Consoleで許可したドメインにないことを意味します。

chrome-extension://Saver が拡張機能の一部であるページから発信されている場合は、そのドメイン ( の後の醜い文字列) を App Console に追加するだけで準備完了です。

于 2013-10-30T15:29:57.347 に答える