API Facebook не публикует фид на странице

1

Я хочу публиковать фиды на странице Facebook по API. Я выполнил приложение для создания документации для facebook в разработчике facebook. Прежде чем я зарегистрировал учетную запись (например: test_account), и после этого я создал страницу для бизнес-активности (пример: test_page), где администратор admin является "test_account". Я перешел в API через API-интерфейс Graph API

https://developers.facebook.com/tools/explorer

Я предоставил " publish_actions " и взял маркер доступа, сгенерированный средством интерфейса, в качестве следующего изображения

Изображение 174551

После этого я попробовал запрос 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) Изображение 174551

поэтому я получил токен доступа, связанный с 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.

Теги:
facebook-graph-api

1 ответ

0

Для публикации на странице вам нужно иметь расширенный токен на токене доступа к странице. Маркер доступа к приложениям предоставит вам доступ к чтению на странице, но не позволит вам публиковать сообщения.

Ниже шаги должны помочь -

  1. Получить токен доступа к странице, используя -

    https://graph.facebook.com/ {APP_ID}/accounts? access_token = {APP_ID} | xxxxxxxxxxxx

  2. Использование токена доступа к странице получает расширенный токен, ниже показано, как я реализовал с помощью 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", параметры)

Используйте этот расширенный токен для публикации на странице. Это сработало для меня, надеюсь, это поможет вам.

  • 0
    Расширенный токен действителен в течение 60 дней, но как обновить токен через 60 дней без входа в систему? потому что у меня есть серверная часть cron, которая активирует рабочий процесс для публикации всех фидов на бизнес-страницах Facebook с помощью APP, у меня нет интерфейса на переднем крае. Странная вещь, которую я не понял, - это то, что я выполнил запрос вызовов процедур, который я описал выше, и опубликовал ленту новостей, но строка get кажется старой, и поэтому я не вижу в работе страницы Facebook. Вместо этого, если позвонить по каналу API GET, я могу увидеть опубликованный канал. ПОЧЕМУ?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню