> ## Documentation Index
> Fetch the complete documentation index at: https://docs.x.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Ads アカウントへのアクセス

> OAuth を使って X Ads アカウントにアクセスする方法。広告主アクセストークンと開発者アクセストークンの違い、アカウント権限、代理店による複数アカウント運用を含みます。

# ユーザーアカウント 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](/x-ads-api/campaign-management/reference#accounts) で取得できます。「Promotable users」は、特定の広告アカウントによってプロモートできる X ハンドルです。詳細については、[Ads アカウントアクセスの取得](/x-ads-api/introduction)を参照してください。

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

広告主のアカウントに対して Ads API リクエストを行うには、2 つの方法があります。

1. 広告主に代わってリクエストを行う(**推奨**)
2. 広告主のアカウントへのアクセスが付与された自分のアカウントを使用してリクエストを行う。例: 複数アカウントをサポートする[代理店](https://business.x.com/en/blog/agencies-manage-multiple-Twitter-Ads-accounts.html)。

このドキュメントは、これらの選択肢の違いについての概要であり、[multi-user login FAQ](https://business.x.com/en/help/troubleshooting/multi-user-login-faq.html) など他のリソースと合わせて活用してください。

[Authorizing a request](/resources/fundamentals/authentication#authorizing-a-request#authorizing-a-request) に記載のとおり、Ads API へのすべてのリクエストは、[3-legged](/resources/fundamentals/authentication#obtaining-access-tokens-using-3-legged-oauth-flow) [OAuth](/resources/fundamentals/authentication#obtaining-access-tokens-using-3-legged-oauth-flow) フローで取得したアクセストークンを用いた [OAuth 1.0a](/resources/fundamentals/authentication) の Authorization ヘッダーが必要です。アプリケーションは、[アクセストークンを取得する](/resources/fundamentals/authentication#oauth-1-0a-2)ために Web ベースの OAuth フローを実装する必要があります。Ads API 開発者は、X 広告主にログイン資格情報の共有を求めるべきではありません。

デフォルトで、各 [X デベロッパーアプリケーション](/resources/fundamentals/developer-apps)には、そのアプリケーションを所有するアカウントに対して Ads API リクエストを行うのに使用できる静的な **access token** が含まれています。これらの資格情報は、3-legged または [PIN ベースの OAuth](/resources/fundamentals/authentication#pin-based-authorization) フローを必要としない、単一アカウントのユースケースに最適です。別の X Ads アカウントにアクセスするのでなければ、以下の手順の代わりにこの[シングルユーザー](/resources/fundamentals/authentication#oauth-1-0a-2)資格情報を使用してください。

## アクセスレベル

### アプリレベルの権限

各ユーザーは、[Ads API への申請](/x-ads-api/getting-started/step-by-step-guide)時にリクエストされたアクセスレベルを持ちます。

* **Conversion Only**: ユーザーは[Mobile](/x-ads-api/measurement/mobile-conversions) および [Web Conversion](/x-ads-api/measurement/web-conversions) エンドポイントに[read & write](/resources/fundamentals/developer-apps) アクセスできます。
* **Standard Access**: ユーザーは[Analytics](/x-ads-api/analytics)、[Campaign Management](https://developer.x.com/en/docs/twitter-ads-api/campaign-management/overview)、[Creatives](https://developer.x.com/en/docs/twitter-ads-api/creatives/overview)、[Custom Audiences](https://developer.x.com/en/docs/twitter-ads-api/audiences/overview)、[Conversion](/x-ads-api/measurement/web-conversions) エンドポイントに[read & write](/resources/fundamentals/developer-apps) アクセスできます。

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

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

Ads アカウントへアクセスできる各ユーザーは、特定のアカウントレベル権限を持ちます: **Account administrator**、**Ad manager**、**Campaign analyst**、**Organic analyst**、**Creative Manager**。アカウントレベル権限に関する最新のドキュメントは **business.x.com** でご確認ください。アプリケーションは、[Authenticated User Access](/x-ads-api/campaign-management/reference#authenticated-user-access) API エンドポイントを介して現在認証されたユーザーの権限を取得し、どの API エンドポイントおよび広告機能にアクセスできるかを判定する必要があります。

**注:** [Conversion API](/x-ads-api/measurement/web-conversions) で使用するユーザートークンは、**Account administrator** または **Ad manager** のアカウントレベル権限を持つユーザーのものである必要があります。

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

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

広告主の **access token** を取得する方法は 2 つあります。最も一般的な方法は、Web UI から直接[3-legged OAuth フロー](/resources/fundamentals/authentication#obtaining-access-tokens-using-3-legged-oauth-flow)を使用する方法です。広告主に公開可能な UI がないアプリケーションは、[PIN ベース](/resources/fundamentals/authentication#pin-based-authorization)の OAuth プロセスを実装できます。ユーザーが 3-legged フローを完了すると、アプリケーションは API を通じてその Ads アカウントに対するリクエストを行うための資格情報を得ます。

OAuth フローによるユーザー資格情報の取得は、大多数の Ads API 開発者が広告主アカウントへのアクセスを得るために**強く推奨**する方法です。これによりユーザーに代わって API を呼び出し、そのユーザーとして操作を行えるようになります。これらのトークンは有効期限はありませんが、ユーザーがいつでも取り消すことができます。

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

このオプションは、広告主が business.x.com の X UI 経由で[@username に権限を付与](https://business.x.com/en/help/troubleshooting/multi-user-login-faq.html)する必要があります(あるいは @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](/x-ads-api/campaign-management/reference#accounts) エンドポイントで `TWEET_COMPOSER` 権限としてアクセスが有効になります。

## これら方法の違い

|                                                                    |                               |                                                                       |
| :----------------------------------------------------------------- | :---------------------------- | :-------------------------------------------------------------------- |
|                                                                    | Advertiser (User) OAuth Token | (Developer) OAuth Token  <br /> (@username added to separate account) |
| Access Ads Account                                                 | ✔                             | ✔                                                                     |
| Create Posts on Behalf of User                                     | ✔                             | ✔\*                                                                   |
| Manage Campaigns                                                   | ✔                             | ✔                                                                     |
| Access Analytics                                                   | ✔                             | ✔                                                                     |
| Create Cards on Behalf of User                                     | ✔                             | ✔                                                                     |
| Developer ability to Access  <br />via X Ads UI                    |                               | ✔                                                                     |
| [Rate Limits](/x-api/enterprise-gnip-2.0/fundamentals/rate-limits) | Distinct per Advertiser       | Distinct per Advertiser Account                                       |

<Note>
  **注:** 詳細は上の **[自分(Developer)のアクセストークンを取得する](/x-ads-api/fundamentals/accessing-ads-accounts#2-obtain-your-developer-access-token)** セクションを参照してください。
</Note>

## サンプルユースケース

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

標準的なフローは Web ベースで、[3-legged authorization](/resources/fundamentals/authentication#obtaining-access-tokens-using-3-legged-oauth-flow) の OAuth フローを使用します。ここに示すスクリーンショットは、[https://github.com/xdevplatform/twauth-web](https://github.com/xdevplatform/twauth-web) でソースを閲覧できるサンプルの一部です。

アプリケーションのある時点で、X にリダイレクトしてアプリケーションを認可することになります。

<Frame>
  <img src="https://cdn.cms-twdigitalassets.com/content/dam/developer-twitter/images/twauth-web-2.png" alt="image0" />
</Frame>

request token とともに X にリダイレクトすると、ユーザーはアプリケーションを認可するよう求められます。

<Frame>
  <img src="https://cdn.cms-twdigitalassets.com/content/dam/developer-twitter/images/twauth-web-3.png" alt="image1" />
</Frame>

アプリケーションを認可すると、ユーザーは request token 生成時に指定したコールバック URL にリダイレクトされます。これを使用して、このユーザーの永続アクセストークンを取得し、ローカルに保存します!

<Frame>
  <img src="https://cdn.cms-twdigitalassets.com/content/dam/developer-twitter/images/twauth-web-4.png" alt="image" />
</Frame>
