我有一个页面应该从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令牌?或者我是不是错了?
答案 0 :(得分: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 {
}
});
答案 1 :(得分:0)
使用Facebook的JavaScript方法FB.api,而不是向完全限定的端点发出请求。使用此方法时,您不必担心令牌。