Skip to main content
X Chat API を使うと、X 上で暗号化されたダイレクトメッセージを送受信できます。メッセージ本文はクライアント側で暗号化され、X は暗号文をルーティングするだけで平文コンテンツを読むことはできません。メッセージには署名も付与されるため、受信者は送信者を検証できます。

アプリに必要な要素

完全な実装は はじめに に従ってください。概念のみを知りたい場合は、暗号化入門 を参照してください。

暗号化の仕組み(概要)

  1. アイデンティティ鍵ペアと署名鍵ペアを作成し、秘密鍵を安全に保管します(セキュアキーバックアップまたは保護されたブロブ)。
  2. 公開鍵を公開して、他のユーザーがあなたと会話鍵を交換し、署名を検証できるようにします。
  3. 各参加者向けに暗号化されたコピーを投稿して、会話鍵を共有します。
  4. 送信メッセージを暗号化して署名し、X には暗号文のみを送信します。
  5. Webhook、ストリーム、またはイベント履歴経由で暗号文を受信します。
  6. Chat XDK を使って検証と復号を行います。

便利なエンドポイント

サイドバーの API reference にまとめられており、以下を含みます:
  • 公開鍵: 登録と取得
  • 会話とメッセージ: 会話の一覧/取得、鍵の追加/ローテーション、イベント、送信、タイピング、既読、グループメンバーシップ
  • メディア: 暗号化された添付ファイルのアップロードとダウンロード(ガイド)

認証に関する注意

DM 関連スコープ(dm.readdm.write、必要に応じて users.read / tweet.read;アップロード用に media.write)を伴う OAuth 2.0 ユーザーコンテキストを使用してください。ユーザーの X Chat アクティビティにはそのユーザーの認可が必要です。セキュアキーバックアップの設定は、あなたの公開鍵レコード(juicebox_config フィールド)で返されます。詳細は「はじめに」を参照してください。

次のステップ

  1. 暗号化入門: 暗号化の概念に関する任意の背景知識
  2. はじめに: 鍵の実装、送信、受信
  3. Chat XDK: 暗号化 SDK リファレンス
  4. WASM で UI アプリを構築する秘密鍵の取り扱い: 鍵を端末上に留め、PIN をルート認証情報として扱う
  5. 必要に応じて リアルタイムイベントメディアトラブルシューティング