2

同様の質問と回答で問題が解決されませんでした。

私は 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日以上無駄にしてしまったのを助けてください. ばかげたものだと確信していますが、一生見つけることはできません。

4

1 に答える 1

0

アプリ コード内で不適切に設定された AppID が問題の原因であると判断しました。これにより、アプリが当社が作成した別のアプリとして認識され、redirect_uri の不一致が発生したと考えられます。

于 2012-12-03T18:04:43.897 に答える