Skip to main content

ユーザーアカウント vs 広告アカウント

Ads API の利用には 2 種類のアカウントが関係します: 広告アカウントと X ユーザーアカウントです。Ads API のドキュメントを通じて「アカウント」という用語は通常、広告アカウントを指します。
  • 広告アカウントは business.x.com に登録され、API では account_id で識別されます。広告アカウントは資金源に直接紐づき、1 つ以上の X ユーザーアカウントを「promotable users」としてコンテンツを活用します。各広告アカウントは 1 つ以上の X ユーザーアカウントに権限を付与できます。広告アカウント、つまり「current account」は、実行されるほぼすべての URL 内でインラインの :account_id パラメーターとして表現されます。
  • X ユーザーアカウント(たとえば @AdsAPI)は、Ads API では user_id で識別されます。これらのアカウントの 1 つ以上を、広告アカウントに関連付けることができます。API にリクエストを行う、認証された X ユーザーアカウントは「current user」と呼ばれます。current user がアクセスできる広告アカウントの一覧は、GET accounts で取得できます。「Promotable users」は、特定の広告アカウントによってプロモートできる X ハンドルです。詳細については、Ads アカウントアクセスの取得を参照してください。

広告アカウントへのアクセス方法

広告主のアカウントに対して Ads API リクエストを行うには、2 つの方法があります。
  1. 広告主に代わってリクエストを行う(推奨)
  2. 広告主のアカウントへのアクセスが付与された自分のアカウントを使用してリクエストを行う。例: 複数アカウントをサポートする代理店
このドキュメントは、これらの選択肢の違いについての概要であり、multi-user login FAQ など他のリソースと合わせて活用してください。 Authorizing a request に記載のとおり、Ads API へのすべてのリクエストは、3-legged OAuth フローで取得したアクセストークンを用いた OAuth 1.0a の Authorization ヘッダーが必要です。アプリケーションは、アクセストークンを取得するために Web ベースの OAuth フローを実装する必要があります。Ads API 開発者は、X 広告主にログイン資格情報の共有を求めるべきではありません。 デフォルトで、各 X デベロッパーアプリケーションには、そのアプリケーションを所有するアカウントに対して Ads API リクエストを行うのに使用できる静的な access token が含まれています。これらの資格情報は、3-legged または PIN ベースの OAuth フローを必要としない、単一アカウントのユースケースに最適です。別の X Ads アカウントにアクセスするのでなければ、以下の手順の代わりにこのシングルユーザー資格情報を使用してください。

アクセスレベル

アプリレベルの権限

各ユーザーは、Ads API への申請時にリクエストされたアクセスレベルを持ちます。 注: 2023 年 7 月より前にアクセスをリクエストした Ads API 開発者は、異なるアクセスレベルと権限を持っている可能性があり、OAuth トークンが 5 個に制限されている場合があります。既存アプリケーションで追加エンドポイントへのアクセスやトークン上限の緩和を行うには、アクセスの拡大に関するガイドをご覧ください。

広告アカウントレベルの権限

Ads アカウントへアクセスできる各ユーザーは、特定のアカウントレベル権限を持ちます: Account administratorAd managerCampaign analystOrganic analystCreative Manager。アカウントレベル権限に関する最新のドキュメントは business.x.com でご確認ください。アプリケーションは、Authenticated User Access API エンドポイントを介して現在認証されたユーザーの権限を取得し、どの API エンドポイントおよび広告機能にアクセスできるかを判定する必要があります。 注: Conversion API で使用するユーザートークンは、Account administrator または Ad manager のアカウントレベル権限を持つユーザーのものである必要があります。

アクセストークンの取得方法

1. 広告主(User)のアクセストークンを取得する

広告主の access token を取得する方法は 2 つあります。最も一般的な方法は、Web UI から直接3-legged OAuth フローを使用する方法です。広告主に公開可能な UI がないアプリケーションは、PIN ベースの OAuth プロセスを実装できます。ユーザーが 3-legged フローを完了すると、アプリケーションは API を通じてその Ads アカウントに対するリクエストを行うための資格情報を得ます。 OAuth フローによるユーザー資格情報の取得は、大多数の Ads API 開発者が広告主アカウントへのアクセスを得るために強く推奨する方法です。これによりユーザーに代わって API を呼び出し、そのユーザーとして操作を行えるようになります。これらのトークンは有効期限はありませんが、ユーザーがいつでも取り消すことができます。

2. 自分(Developer)のアクセストークンを取得する

このオプションは、広告主が business.x.com の X UI 経由で@username に権限を付与する必要があります(あるいは @usernames)。自分のアカウントの 3-legged OAuth フローで取得した アクセストークン で、広告主の X Ads アカウントにアクセスできるようになります。 これにより、広告主の OAuth トークンではなく、自分の @username の OAuth トークンで API を呼び出すことができます。このオプションの重要な違いは、Post の delegation/composer 権限が @username に付与されている場合にのみ Promoted-Only Post を作成できる、という点です。 アカウントの FULL promotable user に代わって Promoted-Only Post を作成する権限を得るには、このフローで Post 作成のアクセスも付与される必要があります。これにより、GET accounts/:account_id/authenticated_user_access エンドポイントで TWEET_COMPOSER 権限としてアクセスが有効になります。

これら方法の違い

注: 詳細は上の 自分(Developer)のアクセストークンを取得する セクションを参照してください。

サンプルユースケース

OAuth 3-legged Web フロー経由の広告主のアクセストークン

標準的なフローは Web ベースで、3-legged authorization の OAuth フローを使用します。ここに示すスクリーンショットは、https://github.com/xdevplatform/twauth-web でソースを閲覧できるサンプルの一部です。 アプリケーションのある時点で、X にリダイレクトしてアプリケーションを認可することになります。
image0
request token とともに X にリダイレクトすると、ユーザーはアプリケーションを認可するよう求められます。
image1
アプリケーションを認可すると、ユーザーは request token 生成時に指定したコールバック URL にリダイレクトされます。これを使用して、このユーザーの永続アクセストークンを取得し、ローカルに保存します!
image