認証
| 方法 | 最適な用途 | プライベートメトリクスへのアクセス可否 |
|---|---|---|
| OAuth 2.0 App-Only | サーバー間連携、公開データ | いいえ |
| OAuth 2.0 Authorization Code with PKCE | ユーザー向けアプリケーション | はい (認可されたユーザーの投稿) |
| OAuth 1.0a User Context | レガシー統合 | はい (認可されたユーザーの投稿) |
App-only 認証
cURL
User Context 認証
フィールドとexpansions
fields と expansions を指定して、必要な情報だけをリクエストしてください。
既定のレスポンス
利用可能なフィールド
tweet.fields
tweet.fields
| Field | Description |
|---|---|
created_at | ポストの作成タイムスタンプ |
author_id | ポスト作成者のユーザーID |
public_metrics | いいね、リポスト、返信、引用の数 |
entities | ハッシュタグ、メンション、URL、キャッシュタグ |
attachments | メディアキー、投票ID |
conversation_id | スレッド識別子 |
context_annotations | トピック/エンティティの分類情報 |
in_reply_to_user_id | 返信先ユーザーのID |
lang | 検出された言語 |
source | 投稿元クライアント |
possibly_sensitive | センシティブコンテンツのフラグ |
reply_settings | 誰が返信できるかの設定 |
user.fields (requires author_id expansion)
user.fields (requires author_id expansion)
media.fields (requires attachments.media_keys expansion)
media.fields (requires attachments.media_keys expansion)
| Field | Description |
|---|---|
url | メディアURL |
preview_image_url | サムネイルURL |
type | photo、video、animated_gif |
duration_ms | 動画の再生時間 |
height, width | 縦横サイズ |
alt_text | アクセシビリティ向けテキスト |
フィールドを指定した例
cURL
ポストの編集
仕組み
- 各編集で新しいポストIDが発行されます
edit_history_tweet_idsにはすべてのバージョン (古い順) が含まれます- このエンドポイントは常に最新バージョンを返します
レスポンスの例
エラー処理
一般的なエラー
| Status | エラー | 対処方法 |
|---|---|---|
| 400 | 無効なリクエスト | パラメータの形式を確認する |
| 401 | 未認証 | 認証情報を確認する |
| 403 | アクセス禁止 | App の権限を確認する |
| 404 | 見つかりません | ポストが削除されているか、存在していません |
| 429 | リクエスト過多 | 待機してから再試行する (レート制限を参照) |
削除されたポストまたは保護されたポスト
- 単一ポストルックアップは
404を返します - 複数ポストルックアップでは、そのポストは結果から除外され、
errors配列が返されます
ベストプラクティス
リクエストのバッチ処理
複数のポストを一度に最大100件まで取得できるエンドポイントを使用し、API呼び出し回数を削減します。
必要なフィールドのみをリクエスト
必要なフィールドだけを指定して、レスポンスのサイズと処理時間を最小限に抑えます。
レスポンスのキャッシュ
同じコンテンツに対する繰り返しリクエストを減らすために、ポストデータをローカルにキャッシュします。
編集への対応
リアルタイムなアプリケーションの場合は、30分の編集ウィンドウ後に投稿を再取得することを検討してください。
次のステップ
APIリファレンス
エンドポイントの完全なドキュメント
データディクショナリ
利用可能なすべてのオブジェクトとフィールド
サンプルコード
動作するコード例
エラー処理
エラーを適切に処理