Skip to main content

ブロックのルックアップ: standard v1.1 と X API v2 の比較

standard v1.1 の GET blocks/idsGET blocks/list エンドポイントを利用してきた場合、このガイドの目的は、standard v1.1 と X API v2 のブロックルックアップ用エンドポイント間の類似点と相違点を理解するのに役立ててもらうことです。
  • 類似点
    • 認証
  • 相違点
    • エンドポイント URL
    • リクエストごとのユーザー数上限
    • App と Project の要件
    • レスポンスデータの形式
    • リクエストパラメータ

類似点

認証 standard v1.1 と X API v2 の両方の blocks lookup エンドポイントでは、OAuth 1.0a User Context が使用されます。そのため、以前に standard v1.1 の blocks lookup エンドポイントのいずれかを使用していた場合は、X API v2 版へ移行しても同じ認証方法を引き続き利用できます。 

Differences

エンドポイント URL 1 リクエストあたりのユーザー数の上限 標準 v1.1 エンドポイントでは、1 リクエストあたり最大 5,000 人のユーザーを返すことができます。新しい v2 エンドポイントでは、1 リクエストあたり最大 1,000 人のユーザーを返すことができます。1,000 ユーザーをすべて取得するには、クエリパラメータとして max_results=1000 を指定する必要があります。その後、レスポンスペイロードで返される next_token を、次のリクエストの pagination_token クエリパラメータに渡します。   App と Project の要件 X API v2 エンドポイントでは、リクエストの認証時に、developer App のうち Project に関連付けられているものの資格情報を使用する必要があります。すべての X API v1.1 エンドポイントでは、Project に関連付けられていない App、または Project に関連付けられた App の資格情報を使用できます。 レスポンスデータ形式 標準 v1.1 と X API v2 のエンドポイントバージョン間の最大の違いの 1 つは、ペイロードで返すフィールドをどのように選択するかです。 標準エンドポイントでは、多くのレスポンスフィールドがデフォルトで返され、さらにパラメータを使用して、どのフィールドまたはフィールドセットをペイロードに含めるかを指定することができます。 X API v2 バージョンでは、デフォルトで返されるのは user id、name、username フィールドのみです。追加のフィールドやオブジェクトをリクエストするには、fieldsexpansions パラメータを使用する必要があります。このエンドポイントからリクエストしたユーザーフィールドはすべて、プライマリの user オブジェクト内で返されます。展開された Post オブジェクトとそのフィールドは、レスポンス内の includes オブジェクト内で返されます。その後、user と展開された Post オブジェクトの両方にある ID を照合することで、展開された任意のオブジェクトを user オブジェクトに対応付けることができます。  これらの新しいパラメータについては、それぞれのガイド、または fields と expansions の使用方法 に関するガイドを参照して、さらに詳しく知ることをお勧めします。  また、標準 v1.1 のフィールドを新しい v2 のフィールドにマッピングするのに役立つ データ形式の移行ガイド も用意しています。このガイドでは、特定のフィールドを返すために v2 リクエストで指定する必要がある、具体的な expansion と field パラメータも提供しています。    特定のフィールドのリクエスト方法が変わることに加えて、X API v2 では、API によって返されるオブジェクトに対して新しい JSON 構造も導入しています。これには、Post および user オブジェクトが含まれます。
  • JSON のルートレベルでは、標準エンドポイントは Post オブジェクトを statuses 配列で返しますが、X API v2 は data 配列で返します。 
  • Retweeted および Quoted の「statuses」を参照する代わりに、X API v2 の JSON では Retweeted および Quoted ツイートを参照します。contributorsuser.translator_type など、多くのレガシーおよび非推奨フィールドは削除されます。 
  • Post オブジェクトでの favorites と user オブジェクトでの favourites を両方使用する代わりに、X API v2 では like という用語を使用します。 
  • X では、値を持たない JSON 値 (たとえば null) はペイロードに書き出さないという規約を採用しています。Post および user の属性は、null 以外の値を持つ場合にのみ含まれます。   
また、Post object に、次のような新しいフィールドも導入しました。
  • conversation_id フィールド
  • contextentities を含む、2 つの新しい annotations フィールド
  • 複数の新しい metrics フィールド 
  • 特定のポストに誰が返信できるかを示す、新しい reply_setting フィールド
リクエストパラメータ 以下の標準的な v1.1 のリクエストでは、クエリパラメータとして 2 つのパラメータ (user_id または screen_name) を指定できました。X API v2 では数値のユーザー ID のみが受け付けられ、エンドポイントパスの一部として渡す必要があります。

コードサンプル

ブロック中のユーザーを取得する (v2)

cURL
curl "https://api.x.com/2/users/123456789/blocking?user.fields=username,verified&max_results=100" \
  -H "Authorization: OAuth ..."

ユーザーをブロックする (v2)

cURL
curl -X POST "https://api.x.com/2/users/123456789/blocking" \
  -H "Authorization: OAuth ..." \
  -H "Content-Type: application/json" \
  -d '{"target_user_id": "2244994945"}'