我希望使用Facebook广告API(https://github.com/facebook/facebook-php-ads-sdk)获取有关广告系列和广告的Facebook统计信息。
我创建了一个应用程序(带有ID和密码),添加了Marketing API,现在我可以使用<canvas id="bar"
height="100"
width="100"
class="chart chart-bar"
chart-data="dataChart"
chart-labels="labels"
chart-click="onClick"
chart-options="options">
</canvas>
权限生成访问令牌,该权限有效期为2个月。
有没有办法可以避免每隔一个月手动点击该按钮的过程?
我试过这个电话:
ads_read
这为我提供了一个看起来像这样的访问令牌:$tokenUrl = 'https://graph.facebook.com/v2.8/oauth/access_token?client_id=' . $app_id . '&client_secret=' . $app_secret . '&grant_type=client_credentials&scope=ads_read';
并且它不起作用(不支持的获取请求)。
手动生成的令牌长度为164个字符。
答案 0 :(得分:1)
我做的是:
1.Call
https://www.facebook.com/v2.8/dialog/oauth?client_id=
<APP_ID>&redirect_uri=<REDIRECT_URI>&scope=ads_read
然后点击&#34;允许&#34;后,我会被重定向到
<REDIRECT_URI>/?code=<AUTHORIZED_CODE>
2.交换访问令牌的授权代码
https://graph.facebook.com/v2.8/oauth/access_token?client_id=<APP_ID>&redirect_uri=<REDIRECT_URI>&client_secret=<CLIENT_SECRET>&code=<AUTHORIZED_CODE>
你的重定向uri应以/例如结尾http://localhost:3000/
我通过在浏览器中手动复制和粘贴来尝试此操作,但自动化请求/响应应该会给出相同的结果。
参考:https://developers.facebook.com/docs/marketing-api/access
答案 1 :(得分:-1)
您可以通过服务器的请求将短生命令牌用于长期生活令牌(即使没有过期)
GET https://graph.facebook.com/oauth/access_token?
grant_type=fb_exchange_token&
client_id={app-id}&
client_secret={app-secret}&
fb_exchange_token={short-lived-token}
请注意,即使设置为永不过期的令牌也可能被用户无效,例如,如果他更改了FB密码或完全删除了您的应用。
有关详细信息,请参阅the docs