X API v2 と Enterprise の比較
- ページネーション
- タイムゾーン
- ポストの編集履歴とメタデータのサポート
- エンドポイントの URL
- App および Project の要件
- 利用可能な期間
- レスポンスデータ形式
- HTTP メソッド
- リクエストの時間形式
- リクエストパラメータ
- フィルタリング演算子
類似点
since_id と until_id を使ってポスト ID による移動を可能にする新しいページネーション用パラメータなど、追加のページネーション機能がありますが、enterprise と v2 のどちらでも、時間ベースのページネーション (enterprise では fromDate と toDate、v2 では start_time と end_time) が可能です。
タイムゾーン
ページネーションのセクションで述べたように、enterprise と v2 の両方で、時間を使って異なるページのデータを取得できます。いずれの場合も、これらのパラメータを使用する際のタイムゾーンは UTC です。
ポストの編集履歴とメタデータのサポート
どちらのバージョンも、編集履歴を示すメタデータを提供します。詳細については、検索 APIリファレンス と ポスト編集の基本事項ページ を参照してください。
違い
- Enterprise エンドポイント:
- 30 日 -
http://gnip-api.x.com/search/30day/accounts/:account_name/:label.json - フルアーカイブ -
http://gnip-api.x.com/search/fullarchive/accounts/:account_name/:label.json
- 30 日 -
- X API v2 エンドポイント
- 直近 (7 日間) -
https://api.x.com/2/tweets/search/recent - フルアーカイブ -
https://api.x.com/2/tweets/search/all
- 直近 (7 日間) -
id と text フィールドのみが返されます。追加のフィールドやオブジェクトをリクエストするには、fields パラメータと expansions パラメータを使用する必要があります。これらのエンドポイントからリクエストしたポストのフィールドはすべて、メインのポストオブジェクト内に返されます。展開された user、media、poll、place の各オブジェクトおよびフィールドは、レスポンス内の includes オブジェクト内に返されます。そのうえで、ポストと展開されたオブジェクトの両方に含まれる ID を突き合わせることで、各展開オブジェクトをポストオブジェクトに関連付けることができます。
これらの新しいパラメータの詳細については、それぞれのガイド、または fields と expansions の使い方 に関するガイドを参照することを推奨します。
特定のフィールドのリクエスト方法が変更されただけでなく、X API v2 では、Post や user オブジェクトを含む、API が返すオブジェクトに対して新しい JSON 設計も導入しています。
- JSON のルートレベルでは、標準エンドポイントはポストオブジェクトを
statuses配列で返しますが、X API v2 はdata配列で返します。 - Retweeted および Quoted の「statuses」を参照する代わりに、X API v2 の JSON では Retweeted および Quoted ツイートを参照します。
contributorsやuser.translator_typeなど、多くのレガシー/非推奨フィールドは削除されます。 - Post オブジェクトの
favoritesと user オブジェクトのfavouritesの両方を使用する代わりに、X API v2 では like という用語を使用します。 - X では、値が存在しない JSON 値 (たとえば
null) はペイロードに書き出さないという規約を採用しています。ポストおよび user の属性は、非 null の値を持つ場合にのみ含まれます。
- conversation_id フィールド
- context と entities を含む 2 つの新しい annotations フィールド
- 複数の新しい metrics フィールド
- 特定のポストに誰が返信できるかを示す、新しい
reply_settingフィールド
requestParameters オブジェクトが含まれており、そこにリクエストに含めたパラメータが格納されています。一方、v2 のバージョンには代わりにルートレベルに meta オブジェクトが含まれ、そこには newest_id、oldest_id、result_count、および追加の結果ページが存在する場合は next_token が含まれます。
HTTP メソッド
エンタープライズ版のAPIでは、リクエストをJSONボディを持つPOST HTTPメソッド、またはクエリ文字列付きのGET HTTPメソッドのいずれかとして送信できます。
v2では、クエリ文字列付きのGET HTTPメソッドのみを使用できます。
リクエスト時刻の形式
このエンドポイントのエンタープライズ版では、ページネーション用パラメータとtimePeriodレスポンスフィールドの両方で、次の日時形式を使用します: YYYYMMDDHHmm
v2エンドポイントでは、ページネーション用パラメータとstartおよびendレスポンスフィールドの両方で、ISO 8601/RFC 3339日時形式を使用します: YYYY-MM-DDTHH:mm:ssZ
リクエストパラメータ
以下は、エンタープライズ版とX API v2のリクエストパラメータの対応表です。
| Enterprise | Search Posts v2 |
|---|---|
| query | query |
| maxResults | max_results |
| fromDate (YYMMDDHHmm) | start_time (YYYY-MM-DDTHH:mm:ssZ) |
| toDate (YYMMDDHHmm) | end_time (YYYY-MM-DDTHH:mm:ssZ) |
| since_id | |
| until_id | |
| next | next_token or pagination_token |