【问题标题】:Can't fetch campaigns of adaccounts through access_token of Non admin无法通过非管理员的 access_token 获取广告帐户的广告系列
【发布时间】:2014-09-23 05:13:04
【问题描述】:

在 Facebook 广告帐户中,可以添加其他 Facebook 帐户来创建/查看/管理广告系列。所以一个账户“A”可以在他下面有多个广告账户。尽管他不是这些帐户的管理员。任何广告帐户的管理员唯一的额外权限就是我想能够查看和编辑信用卡信息。

现在广告帐户“A”已授权我的应用程序具有 ads_management、ads_read 权限。但是使用 A 的 access_token 我无法获取由 A 管理的广告帐户的活动,因为 A 不是这些帐户的管理员。我认为这是错误的,因为 A 能够通过 Dashboard 管理广告,使用 A 的令牌我也应该能够通过 API 获取活动。

我收到以下错误:

{   "error": {
    "message": "(#10) You do not have sufficient permissions to perform this action", 
    "type": "OAuthException", 
    "code": 10   } }

如果我做错了什么,或者有什么其他方法可以获取 adaccount 的广告系列,有人可以告诉我吗?我无法让我的用户使用每个广告帐户登录到我的应用程序。用户只能使用他用来管理所有其他品牌帐户的一个帐户登录。

【问题讨论】:

  • 你有没有弄清楚这里的问题是什么?我遇到了同样的问题。
  • 是的,我也会感兴趣

标签: facebook facebook-graph-api facebook-ads-api


【解决方案1】:

鉴于权限错误的一般性质,这不是每个人的唯一答案,但在为此浪费了大量时间之后,问题(对我来说)是这样的:

  1. 被正确添加为广告帐户广告商
  2. 没有被添加到相关的帐户组

解决第二点后,我不再遇到OAuthException: (#10) You do not have sufficient permissions to perform this action 错误。作为参考,目前可通过 Ad Manager 左侧边栏中的“设置”访问“帐户组”部分,该部分位于“设置”页面的“广告帐户角色”部分下方。

【讨论】:

    【解决方案2】:

    Facebook 权限以用户而非帐户为中心。用户有权管理一组广告帐户。

    可以通过向图表上的me/adaccounts 提出请求来找到他们能够管理的广告帐户。如果您没有在该集合中看到广告帐户,则该用户没有访问权限。

    此外,用户具有角色。角色如下,可以从adaccount上的users连接读取:

    Level 1001, administrator access
    Level 1002, general-user access
    Level 1003, reports-only access
    

    如果用户具有仅报告访问权限,则将无法阅读有关广告帐户的所有内容。

    【讨论】:

    • 该用户拥有普通用户访问权限,而 me/adaccounts 为我提供了所有广告帐户,但是当我在图形资源管理器工具中单击特定广告帐户时,出现权限不足错误。
    • 您不应该公开发布访问令牌,这非常危险。您应该取消应用程序的身份验证以确保未使用访问令牌。
    • 但只有报告访问权限的用户只能访问报告...您应该尝试 reportstats 或 stats 端点。
    • 哎呀,我以为我无论如何都无法获取或使用该 access_token 做任何事情,所以我发布了它,以便您更清楚。删除了它。顺便说一句,我假设普通用户访问具有仅报告的所有权限 + 它具有创建活动的权限。我错了吗?。对于获取报告,用户是否应该具有“仅限报告的访问权限”?因此,如果我将一个用户添加到所有具有仅报告访问权限的帐户,我是否能够获取该用户的广告系列?
    • 在 Facebook 文档中的哪里可以找到访问特定 API 调用(在我的例子中是 /act_xxxxx/adgroups)需要哪些用户角色?
    【解决方案3】:

    我自己也遇到了这个问题。

    问题是我们无法从标准广告帐户界面将用户添加为“广告帐户管理员”。

    一旦我们使用新的 business.facebook.com 网站“认领”了广告帐户,就可以使用将用户添加为管理员的选项。

    该选项位于https://business.facebook.com“设置 > 广告帐户”下

    【讨论】:

      【解决方案4】:

      我的帐户是 Ad Account 的管理员,但它无法执行 API:GetAdsUser() 和 GetCampaigns()。

      AdAccount adAccount = new AdAccount("act_{add-account-id}");
      var adUsers = adAccount.GetAdUsers();
      var campains = adAccount.GetCampaigns();
      

      抛出异常:(#10) 您没有足够的权限来执行此操作。 我的帐户或我的 Facebook 应用程序发生了什么?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-11-12
        • 2020-10-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-08
        • 1970-01-01
        相关资源
        最近更新 更多