アプリの認証情報
アプリを作成すると、これらの認証情報を生成できます:| 認証情報 | ユースケース |
|---|---|
| API Key & Secret | OAuth 1.0a で認証します。リクエストへの署名やユーザートークンの生成に使用します。 |
| Access Token & Secret | 自分のアカウントに代わってリクエストを行います (OAuth 1.0a)。 |
| Client ID & Secret | OAuth 2.0 で認証します。Authorization Code フローに使用します。 |
| Bearer Token | 公開データエンドポイント用のアプリのみの認証。 |
アプリの作成
Developer Console を開く
console.x.com にアクセスしてサインインします。
アプリの権限 (OAuth 1.0a)
OAuth 1.0a アプリには 3 つの権限レベルがあります:- 読み取り専用
- 読み取りと書き込み
- 読み取り、書き込み、DM
- 投稿、ユーザー、および公開データを表示
- 投稿、いいね、または何も変更できません
- ダイレクトメッセージにはアクセスできません
権限の変更には、ユーザーが新しいスコープで新しいトークンを取得するためにアプリを再認可する必要があります。
OAuth 2.0 アプリのタイプ
OAuth 2.0 を設定する際は、アプリのタイプを選択してください:| タイプ | クライアント | ユースケース |
|---|---|---|
| Web App | Confidential | シークレットを安全に保存できるサーバーサイドアプリケーション |
| Automated App / Bot | Confidential | サーバー上で動作するボットや自動化サービス |
| Native App | Public | シークレットを保護できないモバイルまたはデスクトップアプリ |
| Single Page App | Public | ブラウザベースの JavaScript アプリ |
コールバック URL
コールバック URL (リダイレクト URI) は OAuth フローに必要です。ユーザーがアプリを認可した後、認可コードと共にコールバック URL にリダイレクトされます。要件
- Developer Console でアプリの許可リストにコールバック URL を追加
- URL は正確に一致する必要があります (末尾のスラッシュを含む)
- アプリあたり最大 10 個のコールバック URL
- 本番環境では
https://を使用 - ローカル開発では
http://127.0.0.1を使用 (localhostではない)
禁止されているプロトコル
これらのプロトコルは使用できません:javascript、data、file、ftp、mailto、telnet、その他の非標準スキーム。
禁止されているプロトコルの完全なリスト
禁止されているプロトコルの完全なリスト
vbscript、javascript、vbs、data、mocha、keyword、livescript、ftp、file、gopher、acrobat、callto、daap、itpc、itms、firefoxurl、hcp、ldap、mailto、mmst、mmsu、msbd、rtsp、mso-offdap、snews、news、nntp、outlook、stssync、rlogin、telnet、tn3270、shell、sipベストプラクティス
アプリを分離する
開発、ステージング、本番用に異なるアプリを作成します。
認証情報のローテーション
定期的に、また漏洩が疑われる場合はキーを再生成します。
最小限の権限
アプリが実際に必要とする権限のみをリクエストします。
使用状況のモニタリング
API 使用状況を追跡するために、定期的に Developer Console を確認します。
自動アカウントのラベル
アプリがボットアカウントを運用している場合、自動として識別できます:- ボットアカウントの 設定 に移動
- アカウント → 自動化 を選択
- 管理アカウントをリンク
トラブルシューティング
Callback URL not approved エラー
Callback URL not approved エラー
コールバック URL が Developer Console に登録されているとおりに、プロトコルおよび末尾のスラッシュを含めて正確であることを確認してください。クエリパラメータとして渡す際は URL を HTTP エンコードしてください。
アプリが停止された
アプリが停止された
アプリが停止されたと表示された場合は、X プラットフォームチームからの通知がないかメールを確認してください。申し立てには Platform Help Form を使用してください。