2

我有一个页面应该从 facebook 对象中获取评论并使用 JavaScript 将它们发布在页面上,但是当用户登录时,我终生无法弄清楚如何获取 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 令牌?还是我对这一切都错了?

4

2 回答 2

1

您缺少需要检查身份验证的部分。在此处阅读更多信息status & sessions.

如果您检查以下内容,您将不需要访问令牌,如 Fisch 所述:

 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 {

   }
 });
于 2012-05-06T20:15:59.710 回答
0

不要向完全限定的端点发出请求,而是使用 Facebook 的 JavaScript 方法FB.api。使用此方法时,您无需担心令牌。

于 2012-05-06T16:00:09.607 回答