我想获得一个访问令牌,以便使用 Javascript SDK 从我的 Canvas 应用程序访问 Graph API。这是我的代码:
FB.init({
appId: conf.FACEBOOK_APP_ID,
xfbml: true,
channelUrl:
window.location.protocol + '//' + window.location.host + '/channel.html'
});
FB.getLoginStatus(function(response) {
var accessToken = response.authResponse.accessToken;
[...]
}
但是,这假定用户在访问应用程序时已登录。Facebook 的 Javascript SDK 文档建议测试
if (response.status === 'connected')
在获取访问令牌之前。目前尚不清楚这是否仅适用于要求用户登录 Facebook 的外部网站,或者它是否也适用于 Canvas 应用程序。我的印象是 Canvas 应用程序只能从 Facebook 内部访问,因此它们需要用户登录才能访问它们。我有两个相关的问题:
1. 检查 response.status 有必要吗?用户可以在不登录的情况下访问 Canvas 应用程序吗?
2. Facebook 画布应用是否需要登录按钮?