-1

Facebookのログインヘルプガイドを利用して、ユーザーがログインしているかどうかを確認するスクリプトをまとめようとしています。このガイドに基づいて、次のようにまとめました。

<div id="fb-root"></div>
<script>
  // Additional JS functions here
  window.fbAsyncInit = function() {
    FB.init({
      appId      : '303594953085775', // App ID
      channelUrl : 'http://mysite.com/pages/account/channel.html', // Channel File
      status     : true, // check login status
      cookie     : true, // enable cookies to allow the server to access the session
      xfbml      : true  // parse XFBML
    });

    // Additional init code here
    FB.getLoginStatus(function(response) {
    if (response.status === 'connected') {
        // connected
    } else if (response.status === 'not_authorized') {
        // not_authorized
        login();
    } else {
        // not_logged_in
        login();
    }
    });
    };

  };

  function login() {
    FB.login(function(response) {
        if (response.authResponse) {
            // connected
            testAPI();
        } else {
            // cancelled
        }
    });
    }

    function testAPI() {
    console.log('Welcome!  Fetching your information.... ');
    FB.api('/me', function(response) {
        console.log('Good to see you, ' + response.name + '.');
    });
    }

  // Load the SDK Asynchronously
  (function(d){
     var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement('script'); js.id = id; js.async = true;
     js.src = "//connect.facebook.net/en_US/all.js";
     ref.parentNode.insertBefore(js, ref);
   }(document));
</script>

正確にコピーしたので、何が間違っていたのかわかりません。4 回コピーしましたが、Facebook サイトに書かれている内容とまったく同じであるにもかかわらず、まだエラーが発生します。

2 つのエラーが表示されます。

Uncaught SyntaxError: Unexpected token }

Uncaught SyntaxError: Unexpected token .

この種の複雑な JavaScript については、いくつかの基本的な呼び出しなどを行う方法しか知らないため、実際には何も知りません。これにより、現在、建物から身を投げ出したいと思っています。

なぜエラーになるのか誰か教えてもらえますか? このばかげた Facebook ガイドを読む必要なく、正しいスクリプト全体を入手してアプリ ID とドメインを置き換えることができる場所はありますか?

4

2 に答える 2

1

コードに構文エラーがあります:

window.fbAsyncInit = function() {
  FB.init({
    appId      : '303594953085775', // App ID
    channelUrl : 'http://mysite.com/pages/account/channel.html', // Channel File
    status     : true, // check login status
    cookie     : true, // enable cookies to allow the server to access the session
    xfbml      : true  // parse XFBML
  });

  // Additional init code here
  FB.getLoginStatus(function(response) {
  if (response.status === 'connected') {
      // connected
  } else if (response.status === 'not_authorized') {
      // not_authorized
      login();
  } else {
      // not_logged_in
      login();
  }
  });

};
};        **// REMOVE THIS- This one is extra**

このようなエラーを回避するには、メモ帳++またはその他の優れたエディターを使用できます:)

于 2012-12-18T13:27:39.397 に答える
0

コードを直接コピーして貼り付けたために発生した同じ問題があり、何らかの奇妙な文字がそこに含まれていました。直接コピーして貼り付けるのではなく、物理的に書き直して修正しました。

于 2013-10-15T18:56:03.523 に答える