ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

使用python SDK从Facebook Ads API过滤统计信息

2019-11-21 03:59:13  阅读:528  来源: 互联网

标签:facebook facebook-ads-api python facebook-graph-api


我正在尝试使用Facebook的ads-api在指定时间范围内获取有关广告帐户/广告系列/等的数据.

到目前为止,我设法使用官方的python sdk来获取总体信息(在下面添加),
但我不知道如何插入时间过滤条件.

答案可能在“过滤结果”下,但是我不明白如何将他们在这里所做的事情转换为python …
https://developers.facebook.com/docs/reference/ads-api/adstatistics/v2.2

非常感谢您提供的任何帮助,

谢谢!

这是官方python sdk项目的相关模块(我认为):
https://github.com/facebook/facebook-python-ads-sdk/blob/master/facebookads/objects.py

我当前的代码是:

from facebookads.session import FacebookSession
from facebookads.api import FacebookAdsApi
from facebookads import objects
from facebookads.objects import (
AdUser,
AdCampaign,
)

my_app_id = 'APP_ID'
my_app_secret = 'AP_SECRET'
my_access_token = 'ACCESS_TOKEN'
my_session = FacebookSession(my_app_id, my_app_secret, my_access_token)
my_api = FacebookAdsApi(my_session)
FacebookAdsApi.set_default_api(my_api)

me = objects.AdUser(fbid='me')
my_accounts = list(me.get_ad_accounts())


my_account=my_accounts[1]

print(">>> Campaign Stats")
for campaign in my_account.get_ad_campaigns(fields=[AdCampaign.Field.name]):
    for stat in campaign.get_stats(fields=[
        'impressions',
        'clicks',
        'spent',
        'unique_clicks',
        'actions',
    ]):
        print(campaign[campaign.Field.name])
    for statfield in stat:
        print("\t%s:\t\t%s" % (statfield, stat[statfield]))    

我得到的输出是(所有大写字母和xxxx都是我的):

Campaign Stats
CAMPAIGN_NAME1
    impressions:        xxxx
    unique_clicks:      xxxx
    clicks:     xxxx
    actions:        {u'mobile_app_install': xxxx, u'app_custom_event': xxxx,   u'app_custom_event.fb_mobile_activate_app': xxx}
    spent:      xxxx
CAMPAIGN_NAME2
    impressions:        xxxx
    unique_clicks:      xxxx
    clicks:     xxxx
    actions:        {XXXX}
    spent:      xxxx

解决方法:

get_stats()方法还有一个名为params的附加参数,您可以在其中传递start_time和/或end_time.

params_data = {
    'start_time': 1415134405,
}

stats = campaign.get_stats(
    params=params_data,
    fields=[
        'impressions',
        'clicks',
        ...
    ]
)

for stat in stats:
    ...

API接受此处记录的许多不同参数:https://developers.facebook.com/docs/reference/ads-api/adstatistics

更多可选阅读

params参数和fields参数的原因都需要一些解释.如果您不感兴趣,请随时忽略.

标签:facebook,facebook-ads-api,python,facebook-graph-api
来源: https://codeday.me/bug/20191121/2049092.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有