- 開発者アカウントに登録します。
- 開発者 Appを作成し、トークンを安全に保管します。
- ads.x.com/help にアクセスし、各開発者 App ごとに Ads API へのアクセスを申請します。
注: すでに X Developer Platform 上で開発を行っており、開発者アカウントをお持ちの場合は、手順 3 から始めてください。
X の API プロダクトにリクエストを送信するには、まず開発者アカウントに登録する必要があります。開発者コンソールで App と Developer App を作成します。これにより、API へのすべてのリクエストの認証に使用する認証情報一式が発行されます。
ステップ 2: App のキーとトークンを保存し、安全に保管する
開発者コンソール上の App では、API Keys(Consumer Keys とも呼ばれます)のセットが提供されます。さらに、ご自身の X 個人アカウントに代わってリクエストを送信するために使用できる Access Tokens のセット、および OAuth 2.0 ベアラートークンを必要とするエンドポイントの認証に使用できるベアラートークンも生成できます。これらのキーとトークンは再生成しない限り有効期限が切れないため、環境変数として保存するか、安全なパスワードマネージャーで管理することを推奨します。
また、App の詳細ページの URL に表示されている App ID も控えておいてください。次のステップで Ads API へのアクセスを申請する際に役立ちます。
注: キーとトークンは開発者コンソール上で一度しか表示されないため、生成したらすぐにこれらの認証情報をパスワード管理システムに保存することが重要です。キーやトークンを紛失したり忘れたりした場合は、それらを再生成する必要があります。再生成すると新しいキーとトークンが作成され、古いものは無効になります。これは、以前の認証情報を使用して設定していたすべての連携について、認証情報の更新が必要になることを意味します。当社の認証に関するベストプラクティスについて、詳しくはこちらをご覧ください。
ステップ3:Ads API へのアクセスを申請する
この時点で、すでに X API への Basic access はありますが、X Ads API の機能にはまだアクセスできません。次に、Ads API へのアクセスを申請し、承認を受ける必要があります。ads.x.com/help にアクセスして、各開発者 App ごとに Ads API へのアクセス申請を行ってください。
申請プロセスでは、必要なアクセスレベルを指定する必要があります。詳しくは、App レベルおよび広告アカウントレベルの権限をご覧ください。
Mobile および Web のコンバージョン用エンドポイントへの読み書きアクセス権。
Analytics、Campaign Management、Creatives、Custom Audiences、Conversion エンドポイントに対する読み取りおよび書き込みアクセス。
注意: 2023 年 7 月以前にアクセスをリクエストした Ads API 開発者は、アクセスレベルや権限が異なる場合があり、OAuth トークンが最大 5 個に制限されている可能性があります。追加のエンドポイントへのアクセスや既存アプリケーションのトークン上限を解除する方法については、
アクセスの拡張に関するガイドを参照してください。
Ads API へのアクセスをテストするには、GET accounts エンドポイントにリクエストを送信します。このエンドポイントは、現在認可されているユーザーがアクセスできる広告アカウントを返します。このリクエストで取得した広告アカウントの id を、後続の API リクエストで使用して、特定の広告アカウントのデータを読み書きします。コマンドラインで Twurl を使用する場合、リクエストは次のようになります。
リクエスト例
twurl -H ads-api.x.com "/11/accounts"
レスポンス例
{
"request": {
"params": {}
},
"data": [
{
"name": "Furni",
"business_name": null,
"timezone": "America/Los_Angeles",
"timezone_switch_at": "2016-04-06T07:00:00Z",
"id": "18ce54ayf0z",
"created_at": "2016-04-07T14:40:15Z",
"salt": "b88939e5cabbca720159cb3659d73c06",
"updated_at": "2017-02-08T08:49:53Z",
"business_id": null,
"approval_status": "ACCEPTED",
"deleted": false
}
]
}