В настоящий момент я использую API Facebook Ads Insight с пользовательским токеном, но срок действия этого пользовательского токена истекает (каждый час для временного токена и каждые 60 дней для расширенного токена), и мне нужно обновить его вручную в моей среде. Есть ли способ использовать токен приложения для постоянного разрешения доступа к AdsInsight API? Иначе какой программный способ обновить токен пользователя? (FYI, я использую воздушный поток для хранения токена в админ / соединения)
На данный момент мой URL-запрос:
https://graph.facebook.com/v8.0/act_<SECRET_AD_ACCOUNT_ID>/insights?access_token=<SECRET_TOKEN>=ad_id,ad_name,clicks,unique_clicks,inline_link_clicks,unique_inline_link_clicks&time_range = {'since':'2021-01-01','until':'2021-01-05'}&time_increment=1&level=ad
Когда <SECRET_TOKEN>
Ошибка при использовании токен приложения:
{
"error": {
"message": "Unsupported get request. Object with ID 'act_<SECRET_AD_ACCOUNT_ID>' does not exist, cannot be loaded due to missing permissions, or does not support this operation. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api",
"type": "GraphMethodException",
"code": 100,
"error_subcode": 33,
"fbtrace_id": "<SECRET>"
}
}

Нет, вы не можете использовать токен приложения, потому что токены приложения не содержат каких-либо конкретных разрешений, необходимых для доступа к этой конечной точке. И нет, стандартные пользовательские токены также не могут быть обновлены при взаимодействии с пользователем без. Однако существует так называемый «бизнес-пользователь», токены, выпущенные для них, не имеют срока действия (или они могут обновляться автоматически, не зная, какой именно), поэтому проверьте, применимо ли это для вашей ситуации и типа приложения.