2011-09-19 80 views
2

我正在開發已實現Facebook連接的Web應用程序。用戶可以從我的網站發佈到他/她的Facebook牆上。如何在Facebook圖表API中處理過期的訪問令牌

我知道訪問令牌是從我的網站更新用戶狀態所必需的。&訪問令牌在一段時間後即2小時後過期。

因此,如果用戶的訪問令牌到期,用戶需要使用Facebook重新進行身份驗證才能在牆上發帖。但我想實現它像Twitter一樣。一旦你將你的Facebook帳戶連接到Twitter,你的推文就會發布到Facebook。我看過this,但我不明白PHP。 我可以續訂令牌嗎?如果是,那麼如何?以及twitter如何實現它? 請指導我我是這個東西的新手。

在此先感謝...!

回答

1

的offline_access許可是永遠有效,或直到用戶明確deauthenticates您的應用他們的Facebook應用程序設置我在我的應用程序檢查的方法就是通過如下:

@$accounts = json_decode(file_get_contents("https://graph.facebook.com/".$fb_info['uid']."/accounts?access_token=".$fb_info['access_token'])); 

if($accounts){ 
    $deauthed=false; 
} 

現在重新提示的權限新的訪問令牌

+0

更好的方法是在您的應用的高級開發人員設置中指定您的Deauthorize回撥。通過這種方式,當用戶取消您的應用程序授權時,Facebook會發送一個「signed_request」給您指定的URL,並使用您的應用程序密鑰進行簽名,然後解析爲json對象。以下鏈接指向文檔http://developers.facebook.com/docs/authentication/signed_request/ – adkatrit

0

你不能更新訪問令牌。但是您可以請求offline_access擴展權限。當您的應用擁有此權限時,您會收到長期存在的access_token

我似乎記得讀書的地方,它是有效期爲30天......但我不是對這個數字肯定100%..

+0

那麼Twitter的如何管理崗位到用戶的Facebook牆?他們不經常要求訪問令牌。 –

+0

我認爲它不是twitter處理它 - 而是一個應用程序,與facebook和twitter apis進行對話...... – Lix

+0

我也在Facebook上創建了我的應用程序。它將如何幫助您做到這一點? –