IFRAME 内で Facebook フィード ダイアログを使用しようとしていますが、Web ページを表示すると次のように表示されます。
API エラー コード: 191 API エラーの説明: 指定された URL はアプリケーションによって所有されていません エラー メッセージ: redirect_uri はアプリケーションによって所有されていません。
私は同様の投稿を見つけましたが、何時間もの調査の後でも解決策を見つけることができません.
IFRAME src を設定する Javascript コード スニペット:
FB.Event.subscribe('auth.authResponseChange', function (response) {
if (response.status === 'connected') {
// the user is logged in and has authenticated your
// app, and response.authResponse supplies
// the user's ID, a valid access token, a signed
// request, and the time the access token
// and signed request each expire
var uid = response.authResponse.userID;
var accessToken = response.authResponse.accessToken;
// TODO: Handle the access token
if (accessToken) {
document.getElementById('fbIframe').src = 'https:// www.facebook.com/dialog/feed? display=iframe &app_id=OMITTED_APP_ID &access_token=accessToken &redirect_uri=http://asp.mydomain.com:8240/socialshare/ &show_error=true';
}
} else if (response.status === 'not_authorized') {
// the user is logged in to Facebook,
// but has not authenticated your app
} else {
// the user isn't logged in to Facebook.
}
});
Facebook でのアプリケーションの設定は次のとおりです。
[BASIC] アプリ ドメイン: asp.mydomain.com アプリを Facebook と統合する方法を選択します: 「Facebook ログインのある Web サイト」 (サイト URL: http://asp.mydomain.com:8240/socialshare/ )
[PERMISSIONS] ユーザー & フレンド権限: publish_actions 拡張権限: publish_stream
[高度] 認証: 「Web」
[1] IFRAME src では、redirect_uri の値が http://asp.mydomain.com:8240/socialshare/ であることに注意してください - ドメインとしての asp.mydomain.com と asp.mydomain の間のポートの違いである可能性があります。 com:8240 は、redirect_uri が問題の原因でしょうか? その場合、asp.mydomain.com:8240 は、Facebook 設定でアプリ ドメインとして設定することはできません...
[2] localhost:59700/ socialshare/ (Visual Studio 2010 を使用) でローカルに Web ページを開発するときに、同じエラーが発生することに注意してください。
[3] フィード ダイアログを IFRAME に正常に読み込むために必要な最小フィールドは正確には何ですか?
[4] ここに記載されている Facebook フィード ダイアログの例を使用して、メッセージを正常に実行および投稿できます: https://developers.facebook.com/docs/reference/dialogs/feed/
[5] 上記のコード スニペットとこの投稿の本文では、この質問を投稿できるように、意図的に URL にスペースを追加しました。
どんな助けでも大歓迎です!
ありがとう