2

我想获得一个访问令牌,以便使用 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 画布应用是否需要登录按钮?

4

1 回答 1

2
  1. 检查 response.status 有必要吗?用户可以在不登录的情况下访问 Canvas 应用程序吗?

他们当然可以。

  1. Facebook 画布应用程序是否需要登录按钮?

如果您希望用户连接到您的应用程序,那么当然可以。

对于在画布应用程序中处理登录,我建议使用FB.login.

于 2013-06-23T01:36:39.307 回答