1

Facebook から JSON を取得するのに少し助けが必要です。基本的に必要なことは、ステータス テキストを取得して Web サイトに投稿することだけです。

以下の方法を使用していますが、この方法の access_tokens は 1 時間ごとに有効期限が切れます。

$.getJSON('https://graph.facebook.com/SOME_ID?fields=statuses.limit(10).fields(message)&access_token=SOME_ACCESS_TOKEN', function(data) {});

上記の URL は Facebook グラフ API エクスプローラーから取得したことに注意してください。

私がやろうとしていることを達成する他の方法はありますか?

アップデート:

FB.api を使用しましたが、「このリソースを要求するにはアクセス トークンが必要です」というエラーが表示されるため、正しく実行できたかどうかわかりません。

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

    FB.api('USER_ID?fields=statuses.fields(message)', function(response) {
      console.log(response);
    });
    // Additional initialization code here
  };

  // 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));

(my_app_id、myHost.com、および USER_ID) を正しい値に置き換えたことに注意してください。

前もって感謝します。

4

2 に答える 2

1

Javascript SDKが実装されていると仮定すると、FB.apiメソッドを使用することをお勧めします。

https://developers.facebook.com/docs/reference/javascript/FB.api/

于 2012-09-19T07:15:05.433 に答える
0

API を呼び出す前に、ユーザーは Facebook にログインし、アプリを許可する必要があります。コードを次のように更新します。

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

    FB.getLoginStatus(function(response) {
        if (response.status === 'connected') {
            FB.api('USER_ID?fields=statuses.fields(message)', function(response) {
              console.log(response);
            });
        }
    });
  };

getLoginStatus ステータスの詳細: http://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/

また、パーミッション user_status も確認する必要があります。詳細については、ドキュメントを参照してください: https://developers.facebook.com/docs/authentication/permissions/

FB.login を呼び出すときに許可を求める必要があります。

 FB.login(function(response) {
   // handle the response
 }, {scope: 'user_status'});

https://developers.facebook.com/docs/reference/javascript/FB.login/

于 2012-09-19T08:29:23.397 に答える