Как выполнять сложные запросы, используя Facebook TargetingSearch API?
Я нашел хорошую документацию для поиска по таргетингу через API Facebook здесь:
https://developers.facebook.com/docs/marketing-api/targeting-search/
Код, который я успешно использовал, который был скопирован непосредственно из вышеуказанной документации, выглядит следующим образом:
(Это после того, как я настроил аутентификацию с помощью API Facebook, конечно.)
params = {
'q': 'baseball',
'type': 'adinterest',
}
resp = TargetingSearch.search(params=params)
print(resp)
Это прекрасно работает и возвращает список тем, связанных с бейсболом, вместе с информацией об этих темах, таких как размер аудитории.
Теперь я действительно хочу выполнить более сложный запрос, примерно так:
return to me info on the audience of people who are in Santa Monica and who have an interest in baseball.
Я хочу сделать это, потому что я хочу видеть размер аудитории для этой группы, но не могу найти документацию или примеры того, как это сделать, или если это вообще возможно.
Нечто подобное вот что я представляю
params = {
'q': 'baseball, santa_monica',
'type': 'adinterest, adlocation',
}
resp = TargetingSearch.search(params=params)
print(resp)
Но вышесказанное не работает.
Любые советы очень ценятся.
1 ответ
API, который вы ищете, называется Reachestimate. Вы можете позвонить с указанным таргетингом и вернуть ожидаемые данные.
Например, используя спецификацию таргетинга:
{
"publisher_platforms": ["facebook"],
"facebook_positions": ["feed", "right_hand_column"],
"device_platforms": ["mobile", "desktop"],
"geo_locations": {
"countries": [],
"custom_locations": [],
"zips": [],
"cities": [{
"key": "2421905"
}],
"regions": [],
"country_groups": [],
"geo_markets": []
},
"excluded_geo_locations": {
"countries": [],
"custom_locations": [],
"zips": [],
"cities": [],
"regions": [],
"country_groups": [],
"geo_markets": []
},
"genders": [1, 2],
"age_min": 18,
"age_max": 65,
"relationship_statuses": [],
"connections": [],
"excluded_connections": [],
"friends_of_connections": [],
"interests": [{
"id": "6003087413192",
"name": "Baseball"
}]
}
следующий вызов API:
curl -i -X GET \
"https://graph.facebook.com/v3.2/act_XXX/reachestimate?targeting_spec=%7B%22publisher_platforms%22%3A%5B%22facebook%22%5D%2C%22facebook_positions%22%3A%5B%22feed%22%2C%22right_hand_column%22%5D%2C%22device_platforms%22%3A%5B%22mobile%22%2C%22desktop%22%5D%2C%22geo_locations%22%3A%7B%22countries%22%3A%5B%5D%2C%22custom_locations%22%3A%5B%5D%2C%22zips%22%3A%5B%5D%2C%22cities%22%3A%5B%7B%22key%22%3A%222421905%22%7D%5D%2C%22regions%22%3A%5B%5D%2C%22country_groups%22%3A%5B%5D%2C%22geo_markets%22%3A%5B%5D%7D%2C%22excluded_geo_locations%22%3A%7B%22countries%22%3A%5B%5D%2C%22custom_locations%22%3A%5B%5D%2C%22zips%22%3A%5B%5D%2C%22cities%22%3A%5B%5D%2C%22regions%22%3A%5B%5D%2C%22country_groups%22%3A%5B%5D%2C%22geo_markets%22%3A%5B%5D%7D%2C%22genders%22%3A%5B1%2C2%5D%2C%22age_min%22%3A18%2C%22age_max%22%3A65%2C%22relationship_statuses%22%3A%5B%5D%2C%22connections%22%3A%5B%5D%2C%22excluded_connections%22%3A%5B%5D%2C%22friends_of_connections%22%3A%5B%5D%2C%22interests%22%3A%5B%7B%22id%22%3A%226003087413192%22%2C%22name%22%3A%22Baseball%22%7D%5D%7D&access_token=<user_token>"
вернусь:
{
"data": {
"users": 12000,
"estimate_ready": true
}
}
Надеюсь это поможет