ここに示す Facebook のサンプル コードに従いました -- これはアプリで動作します -- アンカーの「a」リンクをクリックすると、その onclick ハンドラーが新しいウィンドウを開き、Facebook フィード ダイアログが表示されます。
<a class="fbShareToWall" onClick='window.open("https://www.facebook.com/dialog/feed?app_id=123050457758177
&link=https://developers.facebook.com/docs/reference/dialogs/
&picture=http://fbrell.com/f8.jpg
&name=Facebook%20Dialogs&caption=Reference%20Documentation
&description=Using%20Dialogs%20to%20interact%20with%20users.
&redirect_uri=http://www.example.com/response");'>Share on Facebook</a>
上記のコードは問題なく動作し、フィード ダイアログの Facebook サンプルが表示されます。
コードは次のとおりです。エラー メッセージが表示されます。
「oursite.com でエラーが発生しました。後でもう一度やり直してください。API エラー コード: 191 API エラーの説明: 指定された URL はアプリケーションによって所有されていません。エラー メッセージ: redirect_uri はアプリケーションによって所有されていません。
注: これはベータ サイトであり、以下の「OUR_APP_ID」が関連付けられているドメイン名と同じドメイン名ではないステージング サーバーで実行しています。
<a class="fbShareToWall" onClick='window.open("https://www.facebook.com/dialog/feed?app_id="OUR_APP_ID"
&link=https://www.oursite.com&name=Please%20work
&caption=Just%20work
&description=Comeon%20work
&redirect_uri=http://www.oursite.com");'>Share on Facebook</a>
(注: 私たちのコードには、「OUR_APP_ID」ではなく、数値の FB app_id があります)
「OUR_APP_ID」は本番サーバーのドメイン名に「接続」されており、それが問題なのかどうか疑問に思っています.
編集: 「それが問題なのだろうかと思っています」というのは、上記のコードがステージング Web サイト www.foo.com にあるためです。 '。
フィード ダイアログを表示する上記の要求を受け取った Facebook は、自分自身に言っているのではないでしょうか。
「わかりました、このウェブサイト www.foo.com はフィード ダイアログを表示しようとしています -- しかし、app_id は www.oursite.com のものです -- そのため、191 エラーが表示されます」
私たちはその理論をテストしました。上部のサンプル FB フィード ダイアログ コードを変更しました。サンプル コードのアプリ ID のいくつかの数字を変更しました。
また、以前は動作していたサンプル フィード ダイアログ コードでエラー メッセージが表示されるようになりましたが、これはまったく異なるエラー メッセージです。
この '191' redirect_uri エラー メッセージに関するアドバイスはありますか?