【发布时间】:2015-06-24 02:29:43
【问题描述】:
有没有办法通过 Web 界面(使用 oauth 委托)在不获取访问令牌的情况下请求 Facebook ads api?
看看at the documentation,这都是关于重定向和 oauth 经典登录步骤的。
但是服务器可能需要在没有人工参与的情况下收集数据;每两周显示一个 Facebook 登录屏幕来获取新的有效访问令牌是不可行的。
这个访问令牌可以通过api调用生成吗?
// this call generates an app token, but end up with an exception
// "You do not have sufficient permissions to perform this action"
// on every api call relative to campaign, creative & co
https://graph.facebook.com/oauth/access_token?client_id={id}&client_secret={secret}
我错过了什么?
// Using the php ads sdk
use FacebookAds\Api;
Api::init($app_id, $app_secret, $access_token);
// where app_id and app_secret can be found in the ad account preferences
// and access_token has to be generated — but how?
【问题讨论】:
-
取决于你需要什么样的访问令牌。用户访问令牌的有效期最长可以延长 60 天,之后,您必须再次完成登录流程,因为这是生成用户访问令牌的唯一方法。
-
用户访问令牌似乎是访问广告 API 端点的唯一方法。但似乎用户访问令牌只能通过带有 oauth 委托的客户端步骤生成 - 防止“仅服务器”解决方案
-
是的,生成用户访问令牌需要客户端交互。
-
你的意思是客户端交互是强制使用api服务器端的吗?对我来说,完全的服务器到服务器交互不可用,这让我难以置信。
-
如果你想代表用户行事(这是使用用户访问令牌所做的),那么是的,客户端部分是强制性的,因为使用浏览器/客户端设备是唯一的用户通过 Facebook 进行身份验证的方式。
标签: php facebook-graph-api facebook-php-sdk ads