Я использую
https://graph.facebook.com/oauth/access_token?client_id={app_id}6&client_secret={app's_secret}&grant_type=client_credentials
сгенерировать токен для чтения каналов определенной страницы, используя:
https://graph.facebook.com/148321325216424/feed?access_token=xxxxx
где xxxxx
обозначает извлеченный токен из первого вызова. В ответ я получил и пустой массив json без данных в нем.
Если я пойду к https://developers.facebook.com/tools/explorer
страницу и при входе в Facebook я использую кнопку «получить токен» (моя кнопка пользователя), я получаю действительный массив json.
Кто-нибудь знает, действительны ли токены приложений для чтения каналов?
Для чтения фида на странице Facebook вы можете просто использовать токен доступа к приложению:
$appToken = $appId . '|' . $appSecret;
Делайте это только на сервере, защищая свой App Secret.
Конечно, это должна быть страница Facebook, а страница должна быть общедоступной. Я не могу получить доступ к этому идентификатору, поэтому он не является страницей или неопубликован. Страница также должна быть неограниченной (страна / возраст).
Если вы хотите получить фид профиля пользователя (помните о разнице между «страницей Facebook» и «профилем пользователя»), вам, конечно, понадобится токен доступа пользователя с разрешением «read_stream». Это было бы намного сложнее, потому что пользовательские токены действительны только в течение 2 часов — вы можете продлить его до 60 дней. Кроме того, «read_stream» будет одобрен Facebook только для «платформ без собственного клиента Facebook» (например, Smart TV), поэтому он будет работать только для пользователей, имеющих роль в приложении (разработчик, администратор, тестер).
Если вам нужна дополнительная информация о токенах, вот несколько ссылок:
Других решений пока нет …