3

Facebookアプリの開発は初めてです。Facebookからアクセストークンを取得しようとしています。そのために、次のコードを使用してログインステータスを確認しようとしています

<html>
<body>
 <fb:login-button></fb:login-button>
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script type="text/javascript"> 
window.fbAsyncInit = function() {
    FB.init({appId: 'appId', status: true, cookie: true, xfbml: true});
    alert('page 1');
    FB.getLoginStatus(function(response) {
      if (response.status === 'connected') {
        alert('Page 2');
        // connected
      } else if (response.status === 'not_authorized') {
        // not_authorized
      } else {
        // not_logged_in
      }
     });
}
</script>
</body>
</html>

上記のコードを実行すると、ログインに成功するためのログインボタンが表示されます。「ページ1」アラートを取得できますが、「ページ2」アラートを取得できません。このコードの何が問題なのかわかりません。

ありがとう。

4

2 に答える 2

2

Sanbox modeアプリケーションで有効になっているかどうかを確認してください。はいの場合、および現在このアプリケーションの管理者または開発者の役割を持つユーザーとしてログインしていない場合、これが発生します。サンドボックスをしばらく無効にした後、機能するかどうか試してください。この質問への回答を確認してください-https://stackoverflow.com/a/8485361/1816426

もちろん、そのappId: 'appId'部分は単なる例であり、アプリケーションの設定から取得したコードに正しいアプリケーションIDがあると思います。

于 2013-01-22T23:56:54.243 に答える
0

始めるためのいくつかのヒント:

1)あなたのappIDが有効かどうかを確認してください(あなたが文字通り書いたのではなくappId、あなたが登録したappIDを実際に挿入したことを願っています)

FB.init({appId: 'appId', status: true, cookie: true, xfbml: true});

2)次のようにして実際の応答を確認してみてください。

alert(response);

*応答の詳細はここに記載されています:https ://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/

しかし、私の推測では、アプリケーションが正しく登録されていないか、appIDフィールドに正しいappIDが挿入されていません。通常はそうです。

于 2013-01-22T23:42:03.907 に答える