...
https://www.facebook.com/business/learn/lessons/set-up-instagram-creator-account
Кроме того, если вы создали новый аккаунт, загрузите аватар, биографию и опубликуйте какой-нибудь пост иначе ивенты не будут приходить на вебхук.
1. Создание страницы в Facebook
...
3. Добавление администратора страницы в девелоперы приложения:
...
Получение токена и ID Instagram аккаунта:
Выбрать Facebook App (Autofaq_prod)
3. Выбрать User Token
4. Добавить следующие permissions:
pages_show_list
business_management
pages_messaging
instagram_basic
instagram_manage_comments
instagram_manage_insights
instagram_manage_messages
pages_read_engagement
pages_manage_metadata
pages_read_user_content
5. Нажать кнопку Generate Access Token и сохранить полученный токен. Далее мы будем называть его ${explorer_user_access_token}
6. Нужно выполнить запрос GET https://graph.facebook.com/v9.0/oauth/access_token?grant_type=fb_exchange_token&client_id=${app_id}&client_secret=${app_secret}&fb_exchange_token=${explorer_user_access_token}
.
В ответ придёт такой json:
{ "access_token": ${long_lived_user_access_token}, "token_type": "bearer" }.
7. Выполните запрос GET https://graph.facebook.com/v9.0/me/accounts?access_token=${long_lived_user_access_token}
. В ответ вы получите:
Code Block |
---|
{
"data": [
{
"access_token": "${page_acces_token}",
"category": "Personal blog",
"category_list": [
{
"id": "2700",
"name": "Personal blog"
}
],
"name": "{ИМЯ ВАШЕЙ СТРАНИЦЫ В FACEBOOK}",
"id": "${fb_page_id}",
"tasks": [
"ANALYZE",
"ADVERTISE",
"MESSAGING",
"MODERATE",
"CREATE_CONTENT",
"MANAGE"
]
}
],
"paging": {
"cursors": {
"before": "MTA4ODEyODExNzEyOTg4",
"after": "MzE3MjY2NTA1NzY1MTc3"
}
}
} |
Нас прежде всего интересует именно ${fb_page_id}.
8. Выполните запрос GET https://graph.facebook.com/${fb_page_id}?fields=access_token&access_token=${long_lived_user_access_token}
.
В ответ вы получите
Code Block |
---|
{
"access_token": ${long_lived_page_access_token},
"id": ${fb_page_id}
} |
9. Выполните запрос GET https://graph.facebook.com/v6.0/${fb_page_id}?fields=connected_instagram_account&access_token=${long_lived_user_access_toke}
В ответ вы получите:
Code Block |
---|
{
"connected_instagram_account": {
"id": ${ig_page_id}
},
"id": ${fb_page_id}
} |
Откуда мы берём ${ig_page_id}.
Итого у нас есть токен - ${long_lived_user_access_token} и ID Intagram аккаунта ${ig_page_id}.
Подписка приложения на поля
Code Block |
---|
POST https://graph.facebook.com/v12.0/${fb_page_id}/subscribed_apps?access_token=${long_lived_user_access_token}&debug=all&format=json&method=post&pretty=0&suppress_http_code=1&transport=cors&subscribed_fields=messages |
В результате должны получить:
Code Block |
---|
{
"success": true
} |
Для проверки выполните:
Code Block |
---|
GET https://graph.facebook.com/v12.0/${fb_page_id}/subscribed_apps?access_token=${long_lived_user_access_token}&debug=all&format=json&method=get&pretty=0&suppress_http_code=1&transport=cors |
В результате должы получить что-то вроде этого:
Code Block |
---|
{
"data": [
{
"link": "https://autofaq.ai/",
"name": "Autofaq_prod",
"id": "194055608157591",
"subscribed_fields": [
"messages"
]
}
]
} |
Заполнение настроек канала в autofaq
...
В поле Токен доступа введите ${long_lived_user_access_token}, а в поле идентификатор страницы введите ${ig_page_id} и нажмите на кнопку сохранить.
Если уровень permission “instagram_manage_messages” = Standard Access
Событие о сообщениях будут приходить только для сообщений отправленных с аккаунтов добавленных в Instagram Testers в настройках приложения.
...