python - 如何使用 Facebook 的 TargetingSearch API 进行复杂查询?

标签 python facebook facebook-graph-api facebook-python-business-sdk

我在这里找到了一些通过 Facebook API 进行定位搜索的不错文档:

https://developers.facebook.com/docs/marketing-api/targeting-search/

我一直使用成功的代码,是直接从上面的文档复制过来的,如下:

(当然这是在我使用 Facebook API 设置身份验证之后。)

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)

但是上面的方法不起作用。

非常感谢任何提示。

最佳答案

您正在寻找的 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
  }
}

希望这有帮助

关于python - 如何使用 Facebook 的 TargetingSearch API 进行复杂查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53586494/

相关文章:

python - 如何用 pandas 将大表保存为图像

python - 如何在 Scrapy 中使用全局变量解析响应?

ios - Facebook ios注销方法不起作用

ios - 如果用户在登录后更改了他的 facebook 个人资料详细信息,如何在我的应用程序中更新 facebook 个人资料?

php - Facebook PHP SDK 4.0 登录

python - Numpy 有效的对抗所有人

python - 使用 wxpython 为单选框中的特定项目着色

php - Facebook 钓鱼检测

javascript - 2012 年 12 月的迁移在 App Dashboard 中不可用

facebook - 从 URL 中识别 Facebook 用户 ID?