自动脚本的Facebook访问令牌(每次脚本运行时获取令牌)

2024-04-25 17:13:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试建立一个脚本,每天早上7点运行,从Facebook上获取我们组织的广告数据。我让实际的Python脚本完全正常工作: (我使用了我的实际应用程序id、应用程序机密、帐户和用户访问令牌,而不是X,并最终将其存储在csv中,但没有复制该部分代码,因为它与此无关)

from facebookads.objects import AdAccount
from facebookads.api import FacebookAdsApi
import pandas as pd

my_app_id = 'XXX'
my_app_secret = 'XXX'
my_access_token = 'XXX'
FacebookAdsApi.init(my_app_id, my_app_secret, my_access_token)

account = AdAccount('act_XXX')
params = {
    'data_columns':['adgroup_id','date_start','date_stop','campaign_name','reach', 'frequency', 'impressions', 'clicks', 'unique_clicks', 'ctr', 'unique_ctr', 'spend', 'cpm','cpp', 'cpc', 'actions'],
'date_preset': 'last_90_days',
    }

stats = account.get_report_stats(params=params);
print (stats)

问题是这个令牌每60分钟过期一次。我需要一种方式,我不必每天修改这个程序,以获得在Facebook上的认证。我意识到上面的令牌就是用户令牌。我试过App令牌(它是“App_id | App_secret”),我甚至让Python通过一个请求将它给了我:

^{pr2}$

但它不会把它当作真正的象征。当我手动放入用户令牌时,它只给我广告数据。如果我能正确地理解情况,我也需要

1)永久令牌(不认为存在)

或者2)一种请求(用户?)每次运行Python脚本时从Facebook API获取的令牌。在

这是Facebook关于访问令牌的页面(我从那里得到代码)https://developers.facebook.com/docs/facebook-login/access-tokens我知道有一个扩展的60天令牌,但这不起作用,因为我们仍然需要手动进入并每60天更改一次。这样做的目的是让脚本自动运行,而不必为每次运行重新编写代码。在

提前谢谢。在


Tags: 代码用户import脚本idappsecretdate