Я пытаюсь создать ETL, который будет:
- Получать данные, используя API Facebook
- Извлекать клики, показы и деньги, потраченные по каждому объявлениюи каждый день
- Загрузка этих данных в базу данных SQL
Я смог это сделать, но я верю, что решение на самом деле неэффективно.Получение большого количества данных занимает много времени (3000 строк занимают у меня около 3 минут).
То, что я сделал, было:
- Использование Facebook Marketing API и запрос по объявлению
- Использование повторного расширения поля insights объявлений
Пример запроса html GET будет:
https://graph.facebook.com/v3.2/act_<account_id>/ads?fields=insights.time_increment%281%29.date_preset%28last_7d%29%7Bad_id%2Cclicks%2Cimpressions%2Cspend%7D&limit=300
Этот запрос имеет:
params = {
'fields': 'insights.time_increment(1).date_preset(last_7d){ad_id,clicks,impressions,spend}',
'limit': 300
}
headers = {"Authorization": "Bearer XXX"} #(where XXX is the token)
Есть ли лучший API или конечная точка для извлечения этих данных?