Документация Facebook не соответствует действительности, в лучшем случае сбивает с толку.
Я создал приложение, я создал страницу для своего бизнеса.Я хочу публиковать обновления на этой странице со своего веб-сайта в качестве моего приложения с использованием php-sdk.
Я прекрасно работал с другими страницами / сайтами, но, похоже, больше ничего не работает.
Мне требуется offline_access, поэтому я следовал за новой конечной точкой, как предложено в их документах.
Последовательность получения access_token с более длинным сроком действия:
https://www.facebook.com/dialog/oauth?client_id={my_app_id}&redirect_uri=http://my_url.redirect/fb/fb_token.php&scope=publish_stream,offline_access,user_status,read_stream,email,user_groups,manage_pages&response_type=token
возвращено [TOKEN_1]
https://graph.facebook.com/oauth/access_token?client_id={my_app_id}&client_secret={my_app_secret}&grant_type=fb_exchange_token&fb_exchange_token=[TOKEN_1]
возвращено [ACCESS_TOKEN]
https://graph.facebook.com/me/accounts?access_token=[ACCESS_TOKEN]
возвращает список моих страниц и приложений, их соответствующие идентификаторы и коды доступа.Вот где я получил свои последние [DEFINITIVE_ACCESS_TOKEN] && [PAGE_ID]
$facebook = new Facebook(array(
'appId' => {my_app_id},
'secret' => {my_app_secret},
'cookie' => false,
'oauth' => true
));
try {
$attachment = array(
'access_token' => [DEFINITIVE_ACCESS_TOKEN],
'message' => {my_message},
'name' => {my_title},
'link' => {my_url},
'description' => {my_description},
'picture' => {my_image_url},
);
$publishStream = $facebook->api('/[PAGE_ID]/feed', 'POST', $attachment);
} catch (FacebookApiException $e) {
die($e);
}
Это вернуло сообщение об ошибке «OAuthException: (# 200) Сообщения, где актером является страница, также не могут включать target_id»
Куда я иду не так?Есть ли руководство по тому, как заставить это работать идеально где-нибудь, или мы все должны быть читателями разума и угадывать, как это должно быть сделано?
Заранее спасибо за любую помощь.