问题:与业务经理相关联的应用程序是否可以使用appId | appSecret作为访问令牌获取ads_management权限并进行服务器到服务器调用 . 如果是,那么获取应用程序的这些权限的正确步骤是什么?如果没有,那么有没有办法获得具有永不过期的权限的用户的访问令牌?
详细信息:如FB文档中所述,为了在不需要获取和刷新访问令牌的情况下进行服务器到服务器请求,我们可以使用appId | appSecret形式的app id和app secret对 .
我们的应用程序现在具有以下权限: - email - public_profile - user_friends
要调用Ads API,我们的应用必须具有ads_management权限 . 目前我们通过用户级访问令牌调用Ads API,这对我们来说不是首选,因为此令牌需要刷新,必须使用浏览器交互手动完成(我们无法以编程方式获取访问令牌)
1 回答
您可能会混淆App Access Tokens(允许您代表应用程序本身进行调用)和权限(个别用户授予您代表他们行事) - 您将始终需要用户令牌来更新属于一个用户 .
如果用户是您要管理的广告帐户的管理员,则需要授予您的应用
ads_management
权限 - 一旦他们've done that, the OAuth flow gives you an access token to make API calls on their behalf, and that token doesn' t到期最多60天(此后他们需要在登录时返回您的网站/应用) Facebook为您提供更新的令牌)在Business Manager的上下文中,该用户必须是能够通过Business Manager访问您要通过API更新的资产(广告记录和页面)的人
如果您的应用具有对Ads API的标准访问权限,您还可以使用'System Users'进行无会话API调用以更新业务资产:https://developers.facebook.com/docs/marketing-api/businessmanager/systemuser/v2.2
有关登录的更多信息:
https://developers.facebook.com/docs/marketing-api/guides/chapter-1-Setup-and-Authentication
https://developers.facebook.com/docs/facebook-login/access-tokens