X Developer Platform の他のリソースとは異なり、Spaces には明確なライフサイクルがあります。Spaces は開始予定日時の最大 14 日前までスケジュールでき、終了後は利用できなくなります。ホストは、開始前であればいつでも、すでにスケジュールした Space をキャンセルすることもできます。
Space がライブ中はアクセス可能ですが、終了すると Spaces エンドポイントを使って取得することはできなくなり、この状態を示すエラーメッセージが返されます。
あなたの App が Spaces のデータを扱う場合、常に最新の情報を返すとともに、プラットフォーム上で利用できなくなったデータを削除する責任があります。Spaces lookup endpoint を利用することで、ユーザーの期待や意図を尊重した形でデータを扱えていることを確保しやすくなります。
これらのエンドポイントは、X App における Spaces の動作を反映しています。Spaces では、X ユーザーは Space との関わり方や Space 内での振る舞いに応じて、特定のロールが割り当てられます。
プライマリホストは、Space を作成したユーザーであり、その Space 自体の所有者です。現在、Space はホストを 1 人しか持てないため、プライマリホストが唯一のホストとなります。Spaces data dictionary では、プライマリホストの情報は
creator_id フィールドに含まれており、ユーザーオブジェクト に展開することができます。
プライマリホストは、1 人以上のユーザーを共同ホストとして追加できます。Spaces のデータディクショナリでは、これらのホストは host_ids として表示され、ユーザーオブジェクトのリストに展開できます。Space の開催中はホストの指定が変更される可能性があり、これらのエンドポイントから返されるメタデータは、リクエスト時点の状態を反映します。
App は、creator_id の値を確認することでプライマリホストを、host_ids の値を確認することで共同ホストを判別できます。
スピーカーとは、スペース内で発言する権限を持つユーザーのことです。任意の時点で 0 人以上のスピーカーが存在でき、スペースにはホストを含めて最大 10 人までのスピーカーが参加できます。Space データ辞書では、スピーカーは speaker_ids リストとして返され、これを展開してユーザーオブジェクトのリストに変換できます。
リスナーはスペースを視聴し、あらかじめ定義されたリアクションをいつでも使用して反応でき、 (ホストがスペースの設定でこれを許可している場合は) スピーカーになることをリクエストすることもできます。リスナーに関する情報は、participant_count フィールドで返される参加者数 (ホストを含む) の集計値としてのみ取得できます。