0

私はこれを無駄にするためにFacebook開発者チュートリアルに従いました。

基本的に、ユーザーはページタブ内からアプリを承認する必要があります。

推奨されるJavaScriptを使用して、ページの読み込み時にユーザーをリダイレクトしてoauthポップアップにリダイレクトしましたが、アプリが読み込まれると、「申し訳ありませんがエラーが発生しました」という恐ろしいメッセージが表示されます。

生成されるURLは「https://www.facebook.com/dialog/oauth/?client_id=247274355370447&redirect_uri=https%3A%2F%2Fwww.facebook.com%2Fpages%2Fnull%2F286793781401206%2F247274355370447&scope=email,user_about_me」です。したがって、page_idとapp_idの両方の変数が渡されていることがわかります。

これが私の完全なJSコードです

<script>
var oauth_url = 'https://www.facebook.com/dialog/oauth/';
oauth_url += '?client_id=<? echo $app_id;?>';
oauth_url += '&redirect_uri=' +     encodeURIComponent('https://www.facebook.com/pages/null/<?php echo $page_id;?>/<?php echo $app_id;?>');
oauth_url += '&scope=email,user_about_me'
window.top.location = oauth_url;
</script>
4

3 に答える 3

2

私は同じ問題を抱えています。

これができるはずです。

ユーザーがダイアログのボタンをクリックした後にリダイレクトする URL。指定する URL は、アプリの設定で指定されているのと同じベース ドメインの URL、hxxps://apps.facebook.com/YOUR_APP_NAMESPACE 形式のキャンバス URL、または hxxps:// 形式のページ タブ URL である必要があります。 www.facebook.com/PAGE_USERNAME/app_YOUR_APP_ID

これは私にはうまくいきません。redirect_uri がユーザーによって所有されていないというエラーが引き続き表示されます。

サイトにページを追加してサイトにリダイレクトする必要はありませんが、正しい方法では機能しないようです。

現時点で見つけた最も簡単な修正方法は、redirect_uri を自分のドメインのページに戻すことです。page_tab コンテンツが読み込まれるのと同じドメイン。

たとえば、マイページタブは hxxp://example.com/ を読み込むので、redirect_uri を hxxp://example.com/redirect.php に設定します

redirect.php で次のコードを使用します

 <script>
window.top.location = "{YOUR_FACEBOOK_PAGE_TAB_URL}";
</script>
于 2012-05-23T14:46:45.770 に答える
1

認証後もユーザーをページ タブ アプリに残しておきたい場合は、FB.login() 関数を使用することをお勧めします。次のコードを使用してこれを行うことができます。

FB.login(function(response) {
    if (response.authResponse) {
        // do something with newly authorized user
    } else {
        console.log('User cancelled login or did not fully authorize.');
    }
 }, {scope:'PERMISSION_1', 'PERMISSION_2'});

iframe でダイアログを開き、認証を送信またはキャンセルした後にコールバックをトリガーします。

このソリューションは、javascript SDK を使用しています。

于 2012-05-23T15:40:01.877 に答える
0

これは、facebook.com にリダイレクトしようとしていることが原因であると考えられるため、これがアプリケーションの有効な URL として認識されません。自分のサイトのページにリダイレクトする必要があり、必要に応じてそこから実際の Facebook ページ アプリ タブにリダイレクトします。

于 2012-04-16T12:16:38.337 に答える