跳转到主要内容

用户账户与广告账户

在使用 Ads API 时会涉及两种不同类型的账户:广告账户和 X 用户账户。在 Ads API 文档中,“account”一词通常指广告账户。
  • 广告账户在 business.x.com 上注册,并在 API 中通过 account_id 标识。广告账户直接关联资金来源,并可利用一个或多个 X 用户账户的内容作为“可推广用户”。每个广告账户可以向一个或多个 X 用户账户授予权限。广告账户(即“当前账户”)在几乎所有执行的 URL 中都以内联的 :account_id 参数表示。
  • X 用户账户(例如 @AdsAPI)在 Ads API 中通过 user_id 标识。一个或多个此类账户可以与某个广告账户关联。通过 API 发起请求的已认证 X 用户账户称为“当前用户”。当前用户可访问的广告账户列表可通过 GET accounts 获取。“可推广用户”是指可由特定广告账户推广的 X 账号。更多详情请参阅 Obtaining Ads Account Access

广告账户的访问方式

你可以通过两种方式为某个广告主的账户发起 Ads API 请求:
  1. 代表广告主发起请求(推荐
  2. 使用你的账号(已获授对某广告主账户的访问权限)发起请求,例如支持多个账户的代理商
本文档简要概述了这两种方式的差异,建议配合我们的其他资源一起阅读,例如多用户登录常见问题 授权请求所述,所有对 Ads API 的请求都必须在请求头中使用OAuth 1.0a的 Authorization 头,并通过三方OAuth流程获取访问令牌。你的应用需要实现基于 Web 的 OAuth 流程以获取访问令牌。Ads API 开发者绝不应要求 X 的广告主共享其登录凭证。 默认情况下,每个X 开发者应用都包含一个静态的访问令牌,可用于为拥有该应用的账号发起 Ads API 请求。对于无需三方或基于 PIN 的 OAuth流程的单账户场景,这些凭证是理想选择。如果你不需要访问其他 X Ads 账户,请使用这些单用户凭证,而无需执行下述步骤。

访问权限级别

应用级权限

每位用户在申请 Ads API时会被授予相应的访问级别: 注意: 2023 年 7 月之前申请 Ads API 访问权限的开发者,其访问级别和权限可能有所不同,并可能被限制为最多 5 个 OAuth 令牌。请参阅我们的提升访问级别指南,以获取更多端点访问权限或为现有应用解除令牌限制。

广告账户级权限

每位可访问广告账户的用户都拥有特定的账户级权限:Account administratorAd managerCampaign analystOrganic analystCreative Manager。有关账户级权限的最新文档,请参见 business.x.com。应用应通过 Authenticated User Access API 端点检索当前已验证用户的权限,以确定其可访问的 API 端点和广告功能。 注意:Conversion API 搭配使用的任何用户令牌,必须属于具备 Account administratorAd manager 账户级权限的用户。                                                                                                                                              

获取访问令牌的方式

1. 获取广告主(用户)的访问令牌

获取广告主的访问令牌有两种方式。最常见的是通过你的网页 UI 直接发起的三方(3-legged)OAuth 流程。对于没有向广告主提供可公开访问 UI 的应用,则可实现基于 PIN 的OAuth 流程。用户完成三方流程后,你的应用将获得通过 API 代表其 Ads 账户发起请求的凭证。 通过 OAuth 流程获取用户凭证是我们对大多数 Ads API 开发者强烈推荐的方式,以获取广告主账户访问权限。这样你就可以代表该用户调用 API 并执行操作。这些令牌不会过期,但用户可随时撤销。

2. 获取你的(开发者)访问令牌

此选项要求广告主通过 business.x.com 上的 X 界面向你的 @username(或多个 @usernames)授予其 X Ads 账户的访问权限。通过你账号的三方(3-legged)OAuth 流程获取的访问令牌将能够访问该广告主的 X Ads 账户。 这样你就可以使用自己 @username 的 OAuth 令牌,而不是广告主的 OAuth 令牌来调用 API。此选项的关键在于:仅当你的 @username 被授予 Post 委派/创作权限时,你才可以创建仅推广的 Post。 若要代表该账户中的 FULL 可推广用户创建仅推广的 Post,你还必须在此流程中被授予创建 Post 的权限。该权限将通过 GET accounts/:account_id/authenticated_user_access 端点中的 TWEET_COMPOSER 权限启用访问。

不同方法的对比

广告主(用户)OAuth 令牌(开发者)OAuth 令牌
(为区分账户添加 @username)
访问广告账户
代表用户创建 Post✔*
管理广告系列
访问分析数据
代表用户创建 Card
开发者可通过 X Ads UI
进行访问
速率限制按广告主区分按广告主账户区分
注意: 详见上文 获取(开发者)访问令牌 部分。

示例用例

广告主访问令牌(通过 OAuth 三方网页流程)

标准流程基于网页,并使用三方授权的 OAuth 流程。此处展示的截图来自一个示例,源代码可在 https://github.com/xdevplatform/twauth-web 查看。 在应用的某个阶段,你需要重定向到 X 以请求对你的应用进行授权。
image0
当你携带请求令牌重定向到 X 时,系统会提示用户授权你的应用。
image1
用户授权你的应用后,将被重定向到你在生成请求令牌时提供的回调 URL。你将据此获取该用户的长期访问令牌,并在本地保存。
image