如Facebook Oauth Documentation所述,爲了在桌面應用程序中使用客戶端流程,需要使用特殊的return_uri https://www.facebook.com/connect/login_success.html
。Chrome擴展程序:帶有手動檢索訪問令牌的Facebook OAuth?
打開Chrome的新標籤來
https://www.facebook.com/dialog/oauth?client_id=MYAPPID&redirect_uri=https://www.facebook.com/connect/login_success.html&response_type=token
作品如預期的網址,我重定向到login_success頁面包含了記號的access_token
參數。我可以使用簡單的GET請求(例如,使用jQuery)從圖形API請求數據:
$.getJSON("https://graph.facebook.com/me", {access_token : token}, function (d)
{
.. process returned data
});
我的問題是,我可以繼續使用該SDK的內部授權的方法來使用JavaScript SDK 沒有。
FB.getLoginStatus
返回一個錯誤,表明我的Connect/Canvas URI不正確。我該如何檢查令牌狀態而不使用該方法[除了手動獲取和響應匹配]?
FB.login
明顯失敗,出現以下錯誤:
API Error Code: 191
API Error Description: The specified URL is not owned by the application
Error Message: Invalid redirect_uri
(網址不符合在應用程序的配置域網址),因爲似乎沒有辦法在內部指定上述return_uri。
在外部訪問令牌時,仍然有依賴JavaScript SDK(特別是事件)的方式嗎?我應該重寫訪問令牌嗎?
AFAIK Facebook正在計劃讓所有access_tokens都很快長壽,因此您不必要求offline_access – zachallia