目的:X のダイレクトメッセージの送受信を、自分のコードから、自分の X アプリのもとで行う。利用料は X からあなたに請求され、すべての呼び出しはあなたのアカウントとしてだけ動きます。
1. X アプリを作る
console.x.com で、アプリに「Read and write and Direct message」の権限を与え、クレジットを購入します。次に「Keys and tokens」から 4 つのキーをコピーします。API キーと API シークレット、そして書き込みに使うアカウントのアクセストークンとアクセスシークレットです。後者は、権限を設定したあとに作ったものでなければなりません。そうでないと、その権限が含まれません。
2. 一度だけ接続する
curl -X PUT https://makehybrid.com/x/v1/connection \
-H "X-API-KEY: $MAKEHYBRID_KEY" -H "content-type: application/json" \
-d '{"api_key":"…","api_secret":"…","access_token":"…","access_secret":"…"}'
キーは X で確認されたうえで封印して保管され、二度と表示されません。接続すると、あなたのアカウントのメッセージをここへ送るよう X にも伝えます。
3. 送る
curl -X POST https://makehybrid.com/x/v1/messages \
-H "X-API-KEY: $MAKEHYBRID_KEY" -H "content-type: application/json" \
-d '{"to":"@pat","text":"Thanks for reaching out!"}'
4. 返信を受け取る
curl -X POST https://makehybrid.com/x/v1/webhooks/endpoints \
-H "X-API-KEY: $MAKEHYBRID_KEY" -H "content-type: application/json" \
-d '{"url":"https://acme.com/hooks/x","events":["x.message_received"]}'
誰があなたのアカウントからのメッセージを受け取れるかは、X が決めます。あなたからのメッセージを受け付けない相手に送ると X の拒否が返り、再試行しても変わりません。
よくある質問
X Chat の暗号化メッセージはどうなりますか?
接続するときに X Chat のパスコードを chat_pin として加えると、X Chat の会話のメッセージを暗号化されたまま読み書きできます。X が許す誤ったパスコードの回数はわずかなので、拒否されたパスコードは、新しいものを送るまで再試行されません。
プロジェクトルームの X チャネルと同じ接続ですか?
はい。どちらで接続しても、両方で使えます。