確かに、これに関連する質問が多数あります。
- facebook-javascript-connect-with-localhost-domain
- facebook-development-in-localhost
- 指定された URL は、アプリケーション構成によって許可されていません
- facebook-share-dialog-failing-to-recognize-custom-reference-objects-when-posting
残念ながら、それらのどれも私の問題を解決しません。
共有ダイアログを使用してカスタム オープン グラフ ストーリーを公開しようとしています。そのため、JavaScript SDK を使用して Web アプリから投稿許可をユーザーに求める必要はありません (ある時点でこれを自動化する可能性があります)。
基本的に、take: "my-app-namespace.take" というカスタム アクションと、http://dev.myapp.com:3000/open/actions/:action_nameでホストされているオブジェクトがあります。これらの各アクションには、それ自体を説明するために必要なメタデータがあります。
<meta property='fb:app_id' content='app_id'/>
<meta property='og:type' content='my-app-namespace:take'/>
<meta property='og:title' content='my_object_title'/>
<meta property='og:image' content='an_image'/>
<meta property='og:url' content='self_url'/>
共有ボタンがクリックされると、次の Javascript が呼び出されます。
FB.ui({
method: 'share_open_graph',
action_type: 'my-app-namespace.take',
action_properties: JSON.stringify({
object:'http://dev.myapp.com:3000/open/actions/renewable_energy'
})
}, function(response){});
そして、多くのことをいじった後、次のもの以外は何も得られませんでした:
Given URL is not allowed by the Application configuration: One or more
of the given URLs is not allowed by the App's settings. It must match
the Website URL or Canvas URL, or the domain must be a subdomain of
one of the App's domains.
私の製品アプリは でホストされていhttps://myapp.com
ます。私の開発URLはhttp://dev.myapp.com:3000
. 開発アプリは、本番アプリのテスト アプリとして登録されます。本番アプリと開発アプリの両方で、Facebook アクション、オブジェクト、およびカスタム ストーリーを作成しました。また、動的に生成される独自の名前空間もあります (つまり、開発用名前空間は常に . に使用されdev.myapp.com:3000
ます)。
以下は、開発アプリの設定のスクリーンショットです。
このエラーの原因がわかりません。ログインして、ローカル設定から正常にリダイレクトできます。オブジェクトやアクションが好きではありませんか?