我正在使用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"}}"
但是,当我试图使用新添加的用户创建一个广告活动或Adset时,会引发以下异常:
FacebookAds\Http\Exception\AuthorizationException这个API调用要求用户是应用程序的管理员。用户16xxx351不是应用程序109xxxxxxx0403的管理员或开发人员。
当我转到我的应用程序并为用户分配一个管理员或开发人员角色时,我可以成功地提出请求。
为什么facebook不允许从api创建具有管理员角色的用户不对其Ad api进行Api调用?当用户被授予管理员/开发人员角色时,为什么允许它发出请求?
发布于 2015-12-01 10:57:48
这是因为您可以提升的对象不是基于adaccount,而是基于您的用户。
通过发出以下请求,您可以看到用户可以访问的连接对象:
<API_VERSION>/act_<AD_ACCOUNT_ID>/connectionobjects?access_token=<ACCESS_TOKEN>
这些文件指出:
此调用返回当前会话用户是管理员的所有对象的ID,以及用户被列为开发人员或广告客户的应用程序ID。
发布于 2017-06-29 16:56:56
如果你不想为你的应用做额外的管理员,你可以在Facebook商务管理器中创建系统用户,授予他管理员(甚至广告商)广告帐户的权限。
https://developers.facebook.com/docs/marketing-api/business-manager-api
用他的标记来管理广告。在我的例子中,我用它来检索广告的目标,找出线索是从哪里来的。
https://www.facebook.com/marketingdevelopers/videos/vb.606699326111137/883648801749520/
https://stackoverflow.com/questions/33998301
复制相似问题