curl --request GET \
--url https://api.x.com/2/dm_conversations/with/{participant_id}/dm_events \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.x.com/2/dm_conversations/with/{participant_id}/dm_events"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.x.com/2/dm_conversations/with/{participant_id}/dm_events', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.x.com/2/dm_conversations/with/{participant_id}/dm_events",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.x.com/2/dm_conversations/with/{participant_id}/dm_events"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.x.com/2/dm_conversations/with/{participant_id}/dm_events")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.x.com/2/dm_conversations/with/{participant_id}/dm_events")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"event_type": "MessageCreate",
"id": "1146654567674912769",
"attachments": {
"card_ids": [
"<string>"
],
"media_keys": [
"<string>"
]
},
"cashtags": [
{
"end": 61,
"start": 50,
"tag": "TWTR"
}
],
"created_at": "2023-11-07T05:31:56Z",
"dm_conversation_id": "123123123-456456456",
"hashtags": [
{
"end": 61,
"start": 50,
"tag": "MondayMotivation"
}
],
"mentions": [
{
"end": 61,
"start": 50,
"username": "<string>",
"id": "2244994945"
}
],
"participant_ids": [
"2244994945"
],
"referenced_tweets": [
{
"id": "1346889436626259968"
}
],
"sender_id": "2244994945",
"text": "<string>",
"urls": [
{
"end": 61,
"start": 50,
"url": "https://developer.twitter.com/en/docs/twitter-api",
"description": "This is a description of the website.",
"display_url": "twittercommunity.com/t/introducing-…",
"expanded_url": "https://developer.twitter.com/en/docs/twitter-api",
"images": [
{
"height": 1,
"url": "https://developer.twitter.com/en/docs/twitter-api",
"width": 1
}
],
"media_key": "<string>",
"status": 349,
"title": "Introducing the v2 follow lookup endpoints",
"unwound_url": "https://twittercommunity.com/t/introducing-the-v2-follow-lookup-endpoints/147118"
}
]
}
],
"errors": [
{
"title": "<string>",
"type": "<string>",
"detail": "<string>",
"status": 123
}
],
"includes": {
"media": [
{
"type": "<string>",
"preview_image_url": "<string>",
"variants": [
{
"bit_rate": 123,
"content_type": "<string>",
"url": "<string>"
}
],
"height": 1,
"media_key": "<string>",
"width": 1
}
],
"places": [
{
"full_name": "Lakewood, CO",
"id": "f7eb2fa2fea288b1",
"contained_within": [
"f7eb2fa2fea288b1"
],
"country": "United States",
"country_code": "US",
"geo": {
"bbox": [
-105.193475,
39.60973,
-105.053164,
39.761974
],
"properties": {},
"type": "Feature",
"geometry": {
"coordinates": [
-105.18816086351444,
40.247749999999996
],
"type": "Point"
}
},
"name": "Lakewood",
"place_type": "city"
}
],
"polls": [
{
"id": "1365059861688410112",
"options": [
{
"label": "<string>",
"position": 123,
"votes": 123
}
],
"duration_minutes": 5042,
"end_datetime": "2023-11-07T05:31:56Z",
"voting_status": "open"
}
],
"topics": [
{
"id": "<string>",
"name": "Technology",
"description": "All about technology"
}
],
"tweets": [
{
"author_id": "2244994945",
"created_at": "Wed Jan 06 18:40:40 +0000 2021",
"id": "1346889436626259968",
"text": "Learn how to use the user Tweet timeline and user mention timeline endpoints in the X API v2 to explore Tweet\\u2026 https:\\/\\/t.co\\/56a0vZUx7i",
"username": "XDevelopers"
}
],
"users": [
{
"created_at": "2013-12-14T04:35:55Z",
"id": "2244994945",
"name": "X Dev",
"protected": false,
"username": "TwitterDev"
}
]
},
"meta": {
"next_token": "<string>",
"previous_token": "<string>",
"result_count": 123
}
}{
"code": 123,
"message": "<string>"
}Récupérer les événements de DM pour une conversation de DM
Récupère les événements de messages privés pour une conversation donnée.
curl --request GET \
--url https://api.x.com/2/dm_conversations/with/{participant_id}/dm_events \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.x.com/2/dm_conversations/with/{participant_id}/dm_events"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.x.com/2/dm_conversations/with/{participant_id}/dm_events', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.x.com/2/dm_conversations/with/{participant_id}/dm_events",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.x.com/2/dm_conversations/with/{participant_id}/dm_events"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.x.com/2/dm_conversations/with/{participant_id}/dm_events")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.x.com/2/dm_conversations/with/{participant_id}/dm_events")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"event_type": "MessageCreate",
"id": "1146654567674912769",
"attachments": {
"card_ids": [
"<string>"
],
"media_keys": [
"<string>"
]
},
"cashtags": [
{
"end": 61,
"start": 50,
"tag": "TWTR"
}
],
"created_at": "2023-11-07T05:31:56Z",
"dm_conversation_id": "123123123-456456456",
"hashtags": [
{
"end": 61,
"start": 50,
"tag": "MondayMotivation"
}
],
"mentions": [
{
"end": 61,
"start": 50,
"username": "<string>",
"id": "2244994945"
}
],
"participant_ids": [
"2244994945"
],
"referenced_tweets": [
{
"id": "1346889436626259968"
}
],
"sender_id": "2244994945",
"text": "<string>",
"urls": [
{
"end": 61,
"start": 50,
"url": "https://developer.twitter.com/en/docs/twitter-api",
"description": "This is a description of the website.",
"display_url": "twittercommunity.com/t/introducing-…",
"expanded_url": "https://developer.twitter.com/en/docs/twitter-api",
"images": [
{
"height": 1,
"url": "https://developer.twitter.com/en/docs/twitter-api",
"width": 1
}
],
"media_key": "<string>",
"status": 349,
"title": "Introducing the v2 follow lookup endpoints",
"unwound_url": "https://twittercommunity.com/t/introducing-the-v2-follow-lookup-endpoints/147118"
}
]
}
],
"errors": [
{
"title": "<string>",
"type": "<string>",
"detail": "<string>",
"status": 123
}
],
"includes": {
"media": [
{
"type": "<string>",
"preview_image_url": "<string>",
"variants": [
{
"bit_rate": 123,
"content_type": "<string>",
"url": "<string>"
}
],
"height": 1,
"media_key": "<string>",
"width": 1
}
],
"places": [
{
"full_name": "Lakewood, CO",
"id": "f7eb2fa2fea288b1",
"contained_within": [
"f7eb2fa2fea288b1"
],
"country": "United States",
"country_code": "US",
"geo": {
"bbox": [
-105.193475,
39.60973,
-105.053164,
39.761974
],
"properties": {},
"type": "Feature",
"geometry": {
"coordinates": [
-105.18816086351444,
40.247749999999996
],
"type": "Point"
}
},
"name": "Lakewood",
"place_type": "city"
}
],
"polls": [
{
"id": "1365059861688410112",
"options": [
{
"label": "<string>",
"position": 123,
"votes": 123
}
],
"duration_minutes": 5042,
"end_datetime": "2023-11-07T05:31:56Z",
"voting_status": "open"
}
],
"topics": [
{
"id": "<string>",
"name": "Technology",
"description": "All about technology"
}
],
"tweets": [
{
"author_id": "2244994945",
"created_at": "Wed Jan 06 18:40:40 +0000 2021",
"id": "1346889436626259968",
"text": "Learn how to use the user Tweet timeline and user mention timeline endpoints in the X API v2 to explore Tweet\\u2026 https:\\/\\/t.co\\/56a0vZUx7i",
"username": "XDevelopers"
}
],
"users": [
{
"created_at": "2013-12-14T04:35:55Z",
"id": "2244994945",
"name": "X Dev",
"protected": false,
"username": "TwitterDev"
}
]
},
"meta": {
"next_token": "<string>",
"previous_token": "<string>",
"result_count": 123
}
}{
"code": 123,
"message": "<string>"
}Autorisations
The access token received from the authorization server in the OAuth 2.0 flow.
Paramètres de chemin
L’id de l’utilisateur participant à la conversation de MP en tête‑à‑tête. Identifiant unique de cet utilisateur. Il est renvoyé sous forme de chaîne de caractères afin d’éviter les problèmes avec les langages et outils qui ne prennent pas en charge les entiers de grande taille.
^[0-9]{1,19}$"2244994945"
Paramètres de requête
Nombre maximal de résultats.
1 <= x <= 100Ce paramètre est utilisé pour obtenir une « page » spécifique de résultats. Un jeton de pagination au format base32.
16Liste des event_types à inclure dans les résultats.
1MessageCreate, ParticipantsJoin, ParticipantsLeave ["MessageCreate", "ParticipantsLeave"]
Liste de champs DmEvent, séparée par des virgules, à inclure dans la réponse. Champs disponibles pour un objet DmEvent.
1attachments, created_at, dm_conversation_id, entities, event_type, id, participant_ids, referenced_tweets, sender_id, text [ "attachments", "created_at", "dm_conversation_id", "entities", "event_type", "id", "participant_ids", "referenced_tweets", "sender_id", "text" ]
Une liste, séparée par des virgules, de champs à développer. Liste des champs pouvant être développés pour un objet DmEvent. Si un champ contient un id, il peut être développé en un objet complet.
1attachments.media_keys, participant_ids, referenced_tweets.id, sender_id [ "attachments.media_keys", "participant_ids", "referenced_tweets.id", "sender_id" ]
Une liste de champs Media, séparés par des virgules, à renvoyer. Les champs disponibles pour l’objet Media.
1alt_text, duration_ms, height, media_key, non_public_metrics, organic_metrics, preview_image_url, promoted_metrics, public_metrics, type, url, variants, width [ "alt_text", "duration_ms", "height", "media_key", "non_public_metrics", "organic_metrics", "preview_image_url", "promoted_metrics", "public_metrics", "type", "url", "variants", "width" ]
Une liste, séparée par des virgules, de champs User à renvoyer. Les champs disponibles pour un objet User.
1affiliation, confirmed_email, connection_status, created_at, description, entities, id, is_identity_verified, location, most_recent_tweet_id, name, parody, pinned_tweet_id, profile_banner_url, profile_image_url, protected, public_metrics, receives_your_dm, subscription, subscription_type, url, username, verified, verified_followers_count, verified_type, withheld [ "affiliation", "confirmed_email", "connection_status", "created_at", "description", "entities", "id", "is_identity_verified", "location", "most_recent_tweet_id", "name", "parody", "pinned_tweet_id", "profile_banner_url", "profile_image_url", "protected", "public_metrics", "receives_your_dm", "subscription", "subscription_type", "url", "username", "verified", "verified_followers_count", "verified_type", "withheld" ]
Une liste, séparée par des virgules, des champs de Tweet à renvoyer. Les champs disponibles pour un objet Tweet.
1article, attachments, author_id, card_uri, community_id, context_annotations, conversation_id, created_at, display_text_range, edit_controls, edit_history_tweet_ids, entities, geo, id, in_reply_to_user_id, lang, media_metadata, non_public_metrics, note_tweet, organic_metrics, possibly_sensitive, promoted_metrics, public_metrics, referenced_tweets, reply_settings, scopes, source, suggested_source_links, suggested_source_links_with_counts, text, withheld [ "article", "attachments", "author_id", "card_uri", "community_id", "context_annotations", "conversation_id", "created_at", "display_text_range", "edit_controls", "edit_history_tweet_ids", "entities", "geo", "id", "in_reply_to_user_id", "lang", "media_metadata", "non_public_metrics", "note_tweet", "organic_metrics", "possibly_sensitive", "promoted_metrics", "public_metrics", "referenced_tweets", "reply_settings", "scopes", "source", "suggested_source_links", "suggested_source_links_with_counts", "text", "withheld" ]
Réponse
La requête a réussi.
1Show child attributes
Show child attributes
1Un objet HTTP Problem Details, tel que défini dans la RFC IETF 7807 (https://tools.ietf.org/html/rfc7807).
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
- Option 8
- Option 9
- Option 10
- Option 11
- Option 12
- Option 13
- Option 14
- Option 15
- Option 16
- Option 17
- Option 18
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes