Я был сумасшедшим для решения этой проблемы, но не нашел, что может быть неправильным. То, что я хочу сделать, это поделиться своими статьями на моем веб-сайте со всеми моими страницами Facebook.
Чтобы делиться статьями на моей личной стене в Facebook, это не проблема. Он работает с кодом ниже "//публикация в профиль"
require 'facebook.php';
$facebook = new Facebook(array(
'appId' => 'App ID',
'secret' => 'Secret Code'
));
if($facebook->getUser() == 0){
$loginUrl = $facebook->getLoginUrl(array(
scope => 'manage_pages,publish_actions'
));
echo "<a href = '$loginUrl'>Login with facebook</a>";
}
else{
//posting to pages
$pages = $facebook->api('me/accounts');
$id = $pages[data][0][id];
$token = $pages[data][0][access_token];
$api = $facebook->api($id . '', 'POST', array(
access_token => $token,
link => 'http://viralprinsen.se/post/se-arets-basta-overraskning-sa-avslojar-mannen-att-frun-ar-gravid',
message => 'Se årets bästa överraskning: Så avslöjar mannen att frun är gravid.'
));
//posting to profile
$api = $facebook->api('me/feed', 'POST', array(
link => 'http://viralprinsen.se/post/se-arets-basta-overraskning-sa-avslojar-mannen-att-frun-ar-gravid',
message => 'Se årets bästa överraskning: Så avslöjar mannen att frun är gravid.'
));
//displaying logout link
echo
"<br><a href = 'logout.php'>Logout</a>";
}
Вы отправляете POST на неверную конечную точку:
$facebook->api($id . '', 'POST', array(...));
Вы должны размещать на границе /feed
:
$facebook->api($id . '/feed', 'POST', array(...));
Я бы рекомендовал вам проверить последние примеры SDK, обернуть вызовы в try/catch
и отобразить все ошибки... и т.д. (См. Это).
Более того, я бы использовал Graph API Explorer, чтобы понять структуру ответов платформы Facebook для каждой конкретной конечной точки, которую вы хотите использовать (например, /me/accounts
... и т.д.).