2

我想要獲取訪問令牌以使用JavaScript SDK從我的Canvas應用訪問Graph API。這裏是我的代碼:Facebook畫布應用是否需要登錄按鈕?

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文檔suggests測試

if (response.status === 'connected') 

獲取訪問令牌之前。目前還不清楚這是否僅限於要求用戶登錄Facebook的外部網站,或者是否也適用於Canvas應用。我的印象是,Canvas應用只能從Facebook內部訪問,所以他們需要用戶登錄才能訪問它們。我有兩個相關的問題:

1.是否需要檢查response.status?用戶是否可以在不登錄的情況下訪問Canvas應用程序?

2. Facebook畫布應用程序是否需要登錄按鈕?

回答

2
  1. 正在檢查必要response.status?用戶是否可以在不登錄的情況下訪問Canvas應用程序?

當然可以。

  1. Facebook畫布應用程序需要登錄按鈕嗎?

如果您希望用戶連接到您的應用程序,那麼當然是。

對於在畫布應用中處理登錄,我建議使用FB.login

+0

畫布應用程序在Facebook內。 Facebook不阻止人們從Facebook之外訪問他們嗎? –

+2

畫布應用程序只是在Facebook以外的任何地方託管的普通網頁。您需要在用戶可以訪問或不能訪問的條件下執行的任何限制都必須由您執行。 – CBroe