我有一個Facebook畫布應用程序,我使用的是最新版本的PHP SDK。Facebook access_token未激活,重試變爲活動狀態
我有一個看起來像這樣的工作流程。用戶登錄Facebook並點擊應用程序列表中的應用程序。
用戶登錄表單頁面 - >點擊提交 - >用戶沒有看到它通過表單處理頁面並嘗試發佈到牆上 - >標題重定向到邀請頁面。
該流程的工作原理是因爲我內置了透明的錯誤處理。但是,在第一次走過這條河流時,沒有牆柱。重複點擊Facebook圖標轉到用戶主頁,點擊用戶應用列表中的應用鏈接。
用戶登錄表單頁面 - >點擊提交 - >用戶沒有看到它通過表單處理頁面並嘗試發佈到牆上 - >標題重定向到邀請頁面。
這個時間和每一次後它的工作。
我在第一次嘗試期間收到的錯誤是會話access_token無效。之後的每一次,只要用戶不註銷它就會工作,我永遠不會得到一個壞的代幣。
在窗體過程頁面裏的牆後的代碼是:
$user = null;
require "/usr/home/app/www/fb/facebook.php";
//facebook application
$fbconfig['appid' ] = "xxx";
$fbconfig['secret'] = "xxx";
$fbconfig['baseUrl'] = "http://www.app.com/fb";
$fbconfig['appBaseUrl'] = "http://apps.facebook.com/app";
// Create our Application instance.
$facebook = new Facebook(array(
'appId' => $fbconfig['appid'],
'secret' => $fbconfig['secret'],
));
//session_write_close();
$user = $facebook->getUser();
try {
$publishStream = $facebook->api("/me/feed", 'post', array(
'message' => "mess",
'link' => 'http://apps.facebook.com/app',
'picture' => 'http://images.app.com/img.jpg',
'name' => 'name',
'description'=> 'des'
)
);
} catch (FacebookApiException $e) {
d($e);
}
header("Location: https://www.app.com/fb/invite.php");
這是截斷離開了那是錯誤的信息,確切的錯誤:
FacebookApiException Object
(
[result:protected] => Array
(
[error] => Array
(
[message] => An active access token must be used to query information about the current user.
[type] => OAuthException
)
)
....
我真的不想要另一個權限只是爲了讓publish_stream權限正常工作。不過,謝謝你的迴應。 –