このガイドでは、ダイレクトメッセージを送信し、グループ会話を作成する方法を順を追って説明します。
前提条件 開始する前に、以下を用意してください。
承認済みの App を持つ 開発者アカウント
User Access Token (OAuth 2.0 PKCE、dm.write および dm.read スコープ付き)
メッセージを送信する
curl -X POST "https://api.x.com/2/dm_conversations/with/9876543210/messages" \
-H "Authorization: Bearer $USER_ACCESS_TOKEN " \
-H "Content-Type: application/json" \
-d '{"text": "Hello! This is a message from the API."}'
レスポンスを確認する
{
"data" : {
"dm_conversation_id" : "1234567890-9876543210" ,
"dm_event_id" : "1582103724607971332"
}
}
参加ユーザーを指定する
グループに含めたい全員のユーザーID (自分自身を除く) を収集します。
最初のメッセージ付きでグループを作成する
curl -X POST "https://api.x.com/2/dm_conversations" \
-H "Authorization: Bearer $USER_ACCESS_TOKEN " \
-H "Content-Type: application/json" \
-d '{
"conversation_type": "Group",
"participant_ids": ["944480690", "906948460078698496"],
"message": {"text": "Welcome to our new group!"}
}'
会話IDを取得する
{
"data" : {
"dm_conversation_id" : "1582103724607971328" ,
"dm_event_id" : "1582103724607971332"
}
}
後でメッセージを追加できるように、dm_conversation_id を保存しておきます。
すでに参加している会話にメッセージを送信するには、次のようにします。
curl -X POST "https://api.x.com/2/dm_conversations/1582103724607971328/messages" \
-H "Authorization: Bearer $USER_ACCESS_TOKEN " \
-H "Content-Type: application/json" \
-d '{"text": "Adding another message to the conversation."}'
メディアを添付して送信する
curl -X POST "https://api.x.com/2/dm_conversations/with/9876543210/messages" \
-H "Authorization: Bearer $USER_ACCESS_TOKEN " \
-H "Content-Type: application/json" \
-d '{
"text": "Check out this image!",
"attachments": [{"media_id": "1234567890123456789"}]
}'
自分が送信したメッセージを削除するには、次のようにします:
curl -X DELETE "https://api.x.com/2/dm_events/1582103724607971332" \
-H "Authorization: Bearer $USER_ACCESS_TOKEN "
レスポンス:
{
"data" : {
"deleted" : true
}
}
自分が送信したメッセージだけを削除でき、他の参加者が送信したメッセージは削除できません。
OAuth 2.0 PKCE を使用する場合、アクセストークンには次のスコープが必要です。
Scope 説明 dm.writeメッセージを送信および削除する dm.read会話を閲覧する (dm.write と併用必須) tweet.read一部の expansions に必須 users.readユーザー expansions に必須
APIリファレンス エンドポイントの詳細ドキュメント