0

私はFacebookページタブを作って、たくさんの埋め込みファイルから好みのビデオや音楽トラックに投票できるようにしています。私は各ユーザーから一度だけ投票できることを確認するために一意のIDを取得する必要があります。 signed_requestには、自分のアプリを承認したユーザーのIDのみが含まれます。ページタブからユーザーを認証する

私は、ユーザーがFB.login()のJavaScript APIを使用して私のアプリを承認していしようとしましたが、私はエラーを取得:

An error occurred with Remix // Rework Vote. Please try later

API Error Code: 191

API Error Description: The specified URL is not owned by the application

Error Message: Invalid redirect_uri: Given URL is not permitted by the application configuration.

は、私の知る限りでは、私はすべてのリダイレクトURLを設定していないが。これをどこかに設定する必要がありますか、またはユーザーにページタブを認証させるための正しい方法ではありませんか?

+2

アプリケーション設定で「アプリケーションドメイン」が正しく設定されていますか? –

+0

@JuicyScripterいいえ、設定しません: 'エラー アプリドメインを指定しましたが、サイトURLまたはモバイルウェブURLを指定していません [ドメイン]はサイトURLまたはモバイルウェブから派生している必要がありますURLがありません。これらのオプションを設定する場所はわかりません。サイトやモバイルサイトではなく、ページタブのみを使用している可能性があります。 – rjmunro

答えて

0

あなたはOAuthのフローを使用する「サイトURL」(または「モバイルWeb URL」)および「アプリケーションドメイン」の両方を指定する必要があります... https://developers.facebook.com/docs/authentication/#redirect-uris

+0

OAuthフローを使用する必要がありますか、またはページタブキャンバスページのコンテキストに他の有効な方法がありますか?私はOAuthを使うことを特に望んでおらず、FacebookからユニークなIDを取得するだけで、FB.login()は私が見つけたドキュメンテーションに必要なものに見えました。 – rjmunro

+0

FB.loginはOAuthフローを使用しているので、OAuthを使用してユーザーを認証する必要があります。 –

+0

確かに、私は 'FB.login'を使う必要がありますか、それとも他の方法がありますか? AFAIK、 'FB.login'はページタブのために完全に間違っているかもしれませんが、それはまさにそのようなものがぼんやりと見えた最初のことです。 – rjmunro

0

の詳細を埋めるために

参照は、だから私は、アプリの設定で「App on Facebook」にチェックを入れて、Canvas URLSecure Canvas URLを同等のページタブURLと同じに設定することで、これを有効にすることができました。

これは完全なアプリケーションではなく、ページタブにすぎず、コンテナページに含まれていない限りアプリとして機能しません。

私はこれがFacebookのバグだと推測しています - UIは、ページタブのみのアプリを持つことができることを意味します。ドキュメンテーションはあなたが言うことができないとは言いません。ページタブのURLを有効なURLとして扱わないための良い技術的理由は考えられません。

私はFacebook - Error Message: redirect_uri is not owned by the applicationに私を指摘してくれた@julio-santosのおかげで、わずかに異なる文脈で同じ問題と思われる。