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>"
}Obtener eventos de DM de una conversación de DM
Recupera eventos de mensajes directos para una conversación específica.
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>"
}Autorizaciones
The access token received from the authorization server in the OAuth 2.0 flow.
Parámetros de ruta
El ID de la conversación de mensajes directos. Identificador único de una conversación de MD. Puede ser una cadena numérica o, en el caso de conversaciones de MD uno a uno, un par de cadenas numéricas separadas por el carácter «-».
^([0-9]{1,19}-[0-9]{1,19}|[0-9]{15,19})$"123123123-456456456"
Parámetros de consulta
El número máximo de resultados.
1 <= x <= 100Este parámetro se utiliza para obtener una "página" específica de resultados. Un token de paginación en base32.
16El conjunto de event_types que se incluirá en los resultados.
1MessageCreate, ParticipantsJoin, ParticipantsLeave ["MessageCreate", "ParticipantsLeave"]
Una lista separada por comas de campos de DmEvent que se devolverán en la respuesta. Campos disponibles para un objeto 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"
]
Una lista de campos, separados por comas, que se van a expandir. Lista de campos que puedes expandir para un objeto DmEvent. Si el campo contiene un id, puede expandirse a un objeto completo.
1attachments.media_keys, participant_ids, referenced_tweets.id, sender_id [
"attachments.media_keys",
"participant_ids",
"referenced_tweets.id",
"sender_id"
]
Una lista de campos de Media, separados por comas, que se mostrarán. Los campos disponibles para un objeto 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"
]
Una lista separada por comas de campos de User que se deben devolver. Los campos disponibles para un objeto 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"
]
Una lista separada por comas de campos de Tweet que se deben incluir en la respuesta. Los campos disponibles para un objeto de tipo 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"
]
Respuesta
La solicitud se ha completado correctamente.
1Show child attributes
Show child attributes
1Un objeto HTTP Problem Details, tal como se define en el IETF RFC 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