2012-05-06 120 views
2

我有一個應該從Facebook對象獲取評論的頁面,並使用JavaScript將它們發佈到頁面上,但是當用戶登錄時,我無法爲我的生活弄清楚如何獲取OAuth令牌。這是我的頁面。如何從JavaScript API獲取OAuth令牌?

<div id="fb-root"></div> 
<script> 
    window.fbAsyncInit = function() { 
     FB.init({ 
      appId: 'myrealappid', 
      status: true, 
      cookie: true, 
      xfbml: true, 
      oauth: true, 
     }); 
    }; 
    (function (d) { 
     var js, id = 'facebook-jssdk'; if (d.getElementById(id)) { return; } 
     js = d.createElement('script'); js.id = id; js.async = true; 
     js.src = "//connect.facebook.net/en_US/all.js"; 
     d.getElementsByTagName('head')[0].appendChild(js); 
    }(document)); 
    function getComments(objectid) { 
//I need to append the OAuth token to this graph request 
     var commentUri = "https://graph.facebook.com/" + objectid + "/comments"; 
     return $.getJSON(commentUri, function (json) { 
      var html = "<ul>"; 
      $.each(json.data, function (i, fb) { 
       html += "<li>" + fb.message + "</li>"; 
      }); 
      html += "</ul>" 
     }); 
     $('.comments').html(html); 
    }; 
    $(document).ready(function() { 
     getTripComments(data.WallPostId); 
    }); 
</script> 
<div id="pageLogo"> 
    <img src="/images/page_logo.png" alt="Digital Mementos" /> 
</div> 
<div id="container"> 
    <div class="fb-login-button">Login with Facebook to Comment</div> 
    <div id="comments"> 
    </div> 
</div> 

看看它說'我需要附加OAuth令牌到這個圖請求'嗎?是的,我需要這樣做。我如何獲得OAuth令牌?或者,我是否全力以赴?

回答

1

您錯過了需要檢查身份驗證的部分。更多herestatus & sessions.

如果您檢查以下你將不再需要訪問令牌作爲甘草說:

FB.login(function(response) { 
    if (response.authResponse) { 
    FB.api('/me', function(response) { 

    }); 
    } else { 

    } 
}); 

如果仍然需要一個訪問令牌,你可以得到這樣的:

FB.login(function(response) { 
    if (response.authResponse) { 
    var access_token = response.authResponse.accessToken; 

    } else { 

    } 
}); 
+0

謝謝!鏈接和代碼很有用。我仍然在搞清楚「正確」的做事方式。 –

+0

很高興幫助... –

0

與其向請求發送到完全限定的端點,請使用Facebook的JavaScript方法FB.api。當你使用這種方法時,你不需要擔心令牌。

相關問題