同様の質問と回答で問題が解決されませんでした。
私は 2 つの Facebook アプリを持っています。1 つはもう 1 つのテスト バージョンであるため、ほぼ同じです。テストでは問題ありません。しかし、ライブ アプリでは、「redirect_uri はアプリケーションによって所有されていません」というエラーが発生します。
このアプリリクエストがその好例です。
FB.ui(
{ method: 'apprequests',
message: 'Greetings! Would you be my neighbor?',
data: 'invite_friends'
},
function (response) {
});
この次のスニペットでは、redirect_uri を手動で追加しました。
FB.ui(
{ method: 'apprequests',
message: 'Greetings! Would you be my neighbor?',
data: 'invite_friends',
redirect_uri: location.protocol + '//' + location.host + location.pathname
},
function (response) {
});
どちらの方法でも、テスト アプリではなく、ライブ アプリのコードで「redirect_uri はアプリケーションによって所有されていません」というエラーが発生します。
どちらのアプリでも、設定はこのパターンに従います。
- アプリ ドメイン: subdomain.domain.com 、 domain.com
- サイト URL: http://subdomain.domain.com/
- キャンバス URL: http://subdomain.domain.com/Facebook/
- セキュア キャンバスの URL : https://subdomain.domain.com/Facebook/
- ページタブの URL: http://subdomain.domain.com/Facebook/
- 安全なページ タブの URL: https://subdomain.domain.com/Facebook/
FB JS SDK を使用しています。その場合、redirect_uri は SDK によって提供されるべきであり、私が見ることができるものからはlocation.protocol + '//' + location.host + location.pathname
.
では、redirect_uri が SDK によって提供され、私の設定が正しい場合、なぜ一方のアプリでは機能し、他方のアプリでは機能しないのでしょうか?
これがすでに私の時間を1日以上無駄にしてしまったのを助けてください. ばかげたものだと確信していますが、一生見つけることはできません。