【问题标题】:Facebook Ads API : Error 272 This Ads API call requires the user to be adminFacebook 广告 API:错误 272 此广告 API 调用要求用户是管理员
【发布时间】:2015-11-30 12:07:04
【问题描述】:

我正在使用 Facebook Ad Api 制作广告。当我通过以下 api 调用授予用户管理员角色 (1001) 时:

https://graph.facebook.com/v2.5/<AD_ACCOUNT_ID>/users?role=1001&uid=xxxxx

它成功创建了用户,当我使用以下请求获取所有用户时:

https://graph.facebook.com/v2.5/<AD_ACCOUNT_ID>/users

它成功返回数组为:

"{"data":[{"name":"firstname lastname","permissions":[1,2,3,4,5,7],"role":1001,"id":"101xxxxxxxxxx352"}}"

但是当我尝试使用新添加的用户创建广告活动或广告集时,会引发以下异常:

[FacebookAds\Http\Exception\AuthorizationException]
(#272) 此广告 API 调用要求用户是应用程序的管理员。用户 16xxxxx351 不是应用程序 109xxxxxxxx0403 的管理员或开发人员。

当我转到我的应用并为用户分配管理员或开发人员角色时,我可以成功提出请求。

为什么 facebook 不允许从 api 以管理员角色创建的用户不对其 Ad Api 进行 api 调用?为什么当用户被授予管理员/开发者角色时它允许提出请求?

【问题讨论】:

  • 我在stackoverflow上发现了一个类似的问题,但是一直没有回答here

标签: facebook-graph-api facebook-php-sdk facebook-ads-api facebook-marketing-api


【解决方案1】:

这是因为您可以推广的对象不是基于广告帐户,而是基于您的用户。

您可以通过以下请求查看用户有权访问的连接对象:

<API_VERSION>/act_<AD_ACCOUNT_ID>/connectionobjects?access_token=<ACCESS_TOKEN>

文档说明:

此调用返回当前会话所针对的所有对象的 ID user 是管理员,以及用户所属应用的 ID 列为开发商或广告商。

【讨论】:

  • 感谢保罗的反馈。当我执行上述请求 { "error": { "message": "(#10) You do not have sufficient permissions to perform this action", "type": "OAuthException", "code": 10, "fbtrace_id": "BtfLD4Ise1y" } } 时出现异常,如何正确分配有效用户来管理广告活动,例如角色 1001?
【解决方案2】:

如果您不想为您的应用设置额外的管理员,您可以在 Facebook Business Manager 中创建系统用户,授予他广告帐户的管理员(甚至是广告商)权限。

https://developers.facebook.com/docs/marketing-api/business-manager-api

并使用他的令牌来管理广告。在我的例子中,我使用它来检索广告的定位,以查找潜在客户来自哪里。

https://www.facebook.com/marketingdevelopers/videos/vb.606699326111137/883648801749520/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-06
    • 2014-09-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多