2

我的应用程序因使用Ads API而被列入白名单。Facebook广告api工作流程

我想知道关于认证流程。 假设我需要通过API在日常任务(无用户交互)上检索和执行操作,但我发现身份验证过程相当麻烦。

有没有办法与我的应用程序访问令牌,而不是用户访问令牌? 我希望能够为每个用户批准我的应用程序一次,然后才能够在没有用户交互的情况下工作。 我可以做到这一点吗?

回答

3

应用程序访问令牌与此情况无关。我不得不使用用户访问令牌。 我关注此文档:https://developers.facebook.com/docs/reference/ads-api/

最终,应该使用一些客户端代码来获得用户权限,然后再获取用户令牌的另一个请求。

所以你必须调用 https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=ads_management,offline_access&RESPONSE_TYPE =代码

获取验证码,并拨打另一个电话: https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&client_secret=YOUR_APP_SECRET&code=AUTHORIZATION_CODE

然后你会得到的访问令牌这是唯一有效的两个月,与Facebook文档在这里所说的相反: https://developers.facebook.com/roadmap/offline-access-removal/

“广告API是特殊的,可以让统计信息脱机收集。 PMD伙伴应使用服务器端的OAuth流,以获得一个永不过期的令牌而不是具有较长的到期时间的令牌。”

太糟糕了,访问令牌是不是真的永远有效...

1

根据this document中的“例外4”,如果您拥有Ads API访问权限,那么如果您使用正确的工作流程,则应该能够获得一个非到期令牌;在guidelines outlined here之后,如果您使用服务器端OAuth流程,做出以下要求,你应该得到一个不过期的令牌:

GET /oauth/access_token? 
grant_type=fb_exchange_token&   
client_id={app-id}& 
client_secret={app-secret}& 
fb_exchange_token={short-lived-token} 
1

thx有关访问令牌过程的反馈很麻烦。因为这是一对多的解决方案 - 单个应用ID可以代表多个人管理多个广告帐户 - 我们需要代表人们拨打电话。

您应该能够获得Ads API的持久访问令牌。如果您没有收到,请提供您正在关注的确切步骤,以便我们查看是否有错误或者您可能错过了一个步骤。

Thx。

+0

我有同样的问题。我应该在哪里报告这个问题? – Sam