Я хочу публиковать фиды на странице Facebook по API. Я выполнил приложение для создания документации для facebook в разработчике facebook. Прежде чем я зарегистрировал учетную запись (например: test_account), и после этого я создал страницу для бизнес-активности (пример: test_page), где администратор admin является "test_account". Я перешел в API через API-интерфейс Graph API
Я предоставил " publish_actions " и взял маркер доступа, сгенерированный средством интерфейса, в качестве следующего изображения
После этого я попробовал запрос POST вызова, чтобы протестировать каналы публикации на странице facebook (test_page) на
https://graph.facebook.com/ {id_page_business}/feed? message = test_message & access_token = {access_token_APP}
и я получил новый ID_feed, и я видел фид на странице facebook и ОК, но токен доступа на следующий день был истек. Как я могу получить токен доступа, который не истек? Я попробовал другое решение для получения токена доступа из запроса GET вызова (в качестве документации)
(ШАГ 1)
поэтому я получил токен доступа, связанный с APP (см. ниже)
access_token = {APP_ID} | xxxxxxxxxxxxxxxxxxxxxjw
(ШАГ 2) Я отправил запрос GET вызова
https://graph.facebook.com/ {APP_ID}/учетные записи? access_token = APP_ID} | xxxxxxxxxxxxxxxxxxxxxjw
и я получил следующий ответ:
{
data: [1]
0: {
id: "xxxxxxxx"
login_url: "https://developers.facebook.com/checkpoint/test-user-login /132173517148280/"
access_token: "123456........"
}
paging: {
cursors: {
before: "yMTczNTE3MTQ4Mjgw"
after: "yMTczNTE3MTQ4Mjgw"
}
}
}
(ШАГ 3) Итак, я попробовал запрос POST вызова, чтобы опубликовать фид на странице facebook с последним токеном доступа (123456........), и я получил
{
id: "1256xxxxxx_133346xxxxxx"
}
но в бизнесе страницы я не вижу фида... ПОЧЕМУ? ВАЖНО: Я заметил, что я вызываю запрос GET API для получения всех страниц каналов (https://graph.facebook.com/ID_PAGE/feed? Access_token = CAAPG1DFdxrs...........) Я могу видеть фиды опубликованы, но в таймлайн интерфейса facebook я не вижу фид. Я заметил, что фид публиковать по API возвращает:
message: "test"
created_time: "2015-11-29T16:39:44+0000"
id: "APP_ID_138999329797136"
Во второй части id отличается уважением, когда я публикую фид с токеном доступа, получая из графика API.
Для публикации на странице вам нужно иметь расширенный токен на токене доступа к странице. Маркер доступа к приложениям предоставит вам доступ к чтению на странице, но не позволит вам публиковать сообщения.
Ниже шаги должны помочь -
Получить токен доступа к странице, используя -
https://graph.facebook.com/ {APP_ID}/accounts? access_token = {APP_ID} | xxxxxxxxxxxx
Использование токена доступа к странице получает расширенный токен, ниже показано, как я реализовал с помощью VB.NET
Dim parameters As Object = New ExpandoObject()
parameters.client_id = FB_APP_ID
parameters.client_secret = FB_APP_SECRET
parameters.grant_type = "fb_exchange_token"
parameters.fb_exchange_token = short_token 'FBClient.AccessToken
Dim result As Object = FBClient.Get("oauth/access_token", параметры)
Используйте этот расширенный токен для публикации на странице. Это сработало для меня, надеюсь, это поможет вам.