我试图通过Facebook营销API拉Facebook广告指标。该流程基本上是我希望提取公司的所有帐户id,然后循环遍历它们,分别检索它们的见解。
然而,我有一个错误,我无法解决/理解。
当我试图使API调用(无论是在图形资源管理器和我的Alteryx工作流):
GET-> /v2.8/act_<Account_ID>/insights
我得到以下错误:
"error": {
"message": "(#3) Application does not have the capability to make this API call.",
"type": "OAuthException",
"code": 3,
"fbtrace_id": "BNevVWUExDg"
}
我必须承认我不知道是什么原因导致了这个错误……实际上问题是什么…我是否缺少令牌的正确范围/权限?使用相同的令牌,我能够正确地调用API以获得所有帐户(GET-> /v2.8/me/adaccounts
)的列表。
谁知道我的问题是什么?
您必须确保您的特定访问令牌具有ads_management或ads_read权限。
这是来自营销API快速入门。https://developers.facebook.com/docs/marketing-apis
这些API也有速率限制,但如果是这种情况,我希望出现不同的错误。
我在相同的端点上运行了POST而不是GET,这给了我另一个关于不在帐户上管理的错误。
看起来,与令牌关联的用户(这是一个长期存在的令牌)只有分析师访问Business Manager中的帐户的权限。在我把它改为advertiser之后,似乎我可以做GET调用。
在我的例子中,我在角色页面中添加了一个新的开发用户。然后我试着做OAuth。我得到了错误消息"应用程序不具备进行此API调用的能力"。
这是我在你的应用程序还在开发模式时解决问题的方法。
转到Marketing API> Tools然后选择您想要的令牌权限。按"获取令牌"按钮。现在,您可以尝试再次执行OAuth。