我有一些facebook的php代碼,在4/30/15
升級之前完美地工作。我升級了我的代碼,它似乎在某些計算機上工作,但不在其他計算機上工作。在無法使用的計算機上,我嘗試了多個瀏覽器,結果相同。我可以使用SDK登錄到Facebook,但它不會將任何內容發佈到我的頁面牆上。相同的代碼,不同的電腦,一切工作正常。下面的代碼:Facebook的:PHP的SDK問題
<?php
$facebook = new Facebook(array(
'appId' => '##########',
'secret' => '##########',
'fileUpload' => true
));
$user = $facebook->getUser();
if ($user) {
try {
$user_profile = $facebook->api('/me');
}
catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
if ($user) {
$logoutUrl = $facebook->getLogoutUrl(array(
'next' => ($user['baseurl'] . 'logout.php')
));
} else {
$loginUrl = $facebook->getLoginUrl(array(
'scope' => 'publish_pages , manage_pages'
));
}
$access_token = $facebook->getAccessToken();
$params = array(
'access_token' => $access_token
);
#The id of the fanpage
$fanpage = '############';
#The id of the album
$album_id = '############';
if ($user) {
$accounts = $facebook->api('/me/accounts', 'GET', $params);
foreach ($accounts['data'] as $account) {
if ($account['id'] == $fanpage || $account['name'] == $fanpage) {
$fanpage_token = $account['access_token'];
}
}
$message = 'Post this to the wall.';
$img = 'path to image.jpg';
$args = array(
'message' => $message,
'image' => '@' . $img,
'aid' => $album_id,
'no_story' => 0,
'access_token' => $fanpage_token
);
$photo = $facebook->api($album_id . '/photos', 'post', $args);
}
?>
是否已發佈publish_pages和manage_pages?好吧,很可能他們不是,看到我的答案。 – luschn
該應用程序的所有用戶都具有管理員或編輯者角色。 –
所以我的錯誤日誌顯示了這一點:PHP致命錯誤:Uncaught OAuthException:(#200)需要擴展權限:publish_actions。 Facebook似乎試圖將用戶張貼到我的頁面牆上,而不是頁面到頁面牆?儘管代碼通過$ account ['access_token']抓取fanpage標記, –