我正在構建一個使用FB連接的Web應用程序(PHP)。我通過facebook提供的PHP lib的幫助成功註冊/登錄用戶。我也可以張貼到牆上,使用此代碼我可以存儲Facebook訪問令牌並在以後使用它嗎?
Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false;
Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYHOST] = 2;
$facebook = new Facebook(array(
'appId' => $fb_key,
'secret' => $fb_secret,
'cookie' => true, // enable optional cookie support
));
$session = $facebook->getSession();
if ($session)
{
$facebook->api('/me/feed', 'POST', array('message'=>$message, 'link'=>$link['href'], 'name'=>$link['text']));
}
但是,如果我手動去我的瀏覽器的cookie管理器和刪除存儲FB會話cookie的,代碼不起作用。我唯一擁有的是我用DB存儲的用戶FB ID。即使FB會話丟失,是否有任何方法可以發佈到用戶的牆上?將用戶的FB訪問令牌存儲在數據庫中以便稍後發佈到牆上或訪問令牌相對較短是否有意義?
這裏是我的應用程序可能發生的示例情形: 用戶點擊FB按鈕,授權我的應用程序,被重定向回我的網站,我基於由FB提供的數據自動創建一個帳戶,我也存儲用戶的FB ID以便我可以稍後登錄該用戶。現在他瀏覽網站,輸入一些信息,並將此信息發佈到他的牆上。目前一切都很好,因爲用戶的瀏覽器持有由FB創建的cookie。現在用戶離開該網站並聯系網站管理員。管理員打開他自己的瀏覽器,進入管理界面並代表該用戶發佈內容。現在,擁有該用戶的FB ID並假定該用戶沒有撤銷權限,我仍可以將此內容發佈到他的牆上嗎?
謝謝,效果很好! – Eugene 2011-01-05 20:40:31
這將被棄用。嘗試使用60天的access_token。 – funerr 2012-06-13 19:37:34