Facebook Marketing API应用访问令牌,它们如何工作?

时间:2016-04-15 16:37:57

标签: facebook http facebook-graph-api https

我想创建一个在服务器后台运行的应用程序,并定期将Facebook上的广告信息同步到我服务器上的数据库(比如每小时一次)。

该应用程序根本没有用户交互,这意味着每次需要进行身份验证时,都没有用户点击“我使用我的信息可以使用我的信息”。

我在他们的文档中找到了这个:https://developers.facebook.com/docs/facebook-login/access-tokens#apptokens

问题是,它似乎不起作用。我可以生成一个access_token就好了。示例:

$ curl 'https://graph.facebook.com/oauth/access_token?client_id=123456789012345&client_secret=s3cr3tt0k3n12a4zz1345a6fgx5aa3f6&grant_type=client_credentials'

access_token=123456789012345|SomeRandomLettersAndNumbers

然而,当我去使用它时,我只是得到权限被拒绝错误:

$ curl 'https://graph.facebook.com/v2.6/me/adaccounts?access_token=123456789012345|SomeRandomLettersAndNumbers'

{"error":{"message":"An active access token must be used to query information about the current user.","type":"OAuthException","code":2500,"fbtrace_id":"DQ8ysX2mHCu"}}

当我通过此处的资源管理器工具发出请求时,会发生同样的事情:https://developers.facebook.com/tools/explorer/

注意:

  • 我已经设置了应用程序。
  • 我是管理员。
  • 我在我的公司帐户中声明了该应用。
  • 我创建了一个广告帐户。
  • 它不是原生/桌面应用程序。
  • 重要的一个:如果我使用用户令牌而不是应用令牌,我可以获取信息,但这需要我在网站上,然后点击弹出窗口,这显然是我无法做到的每小时我的服务器端应用程序。

我不确定是否必须在某处设置权限以允许我使用访问令牌,或者我可能需要为我的应用程序设置一个“平台”(似乎没有适合的应用程序)。

更新

此问题的答案是使用此处记录的系统用户:https://developers.facebook.com/ads/blog/post/2016/04/05/system-user-rollout/

0 个答案:

没有答案