curl --request GET \
--url https://api.x.com/2/dm_conversations/{id}/dm_events \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.x.com/2/dm_conversations/{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/{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/{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/{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/{id}/dm_events")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.x.com/2/dm_conversations/{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>"
}Obtenir les événements de DM pour une conversation donnée
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/{id}/dm_events \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.x.com/2/dm_conversations/{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/{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/{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/{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/{id}/dm_events")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.x.com/2/dm_conversations/{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’identifiant de la conversation de messages privés (DM). Identifiant unique d’une conversation de DM. Il peut s’agir soit d’une chaîne de chiffres, soit d’une paire de chaînes de chiffres séparées par le caractère « - » dans le cas des conversations de DM en tête‑à‑tête.
^([0-9]{1,19}-[0-9]{1,19}|[0-9]{15,19})$"123123123-456456456"
Paramètres de requête
Le nombre maximal de résultats.
1 <= x <= 100Ce paramètre permet de récupérer une « page » spécifique de résultats. Un jeton de pagination au format base32.
16L’ensemble 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