curl --request GET \
--url https://api.x.com/2/media/analytics \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.x.com/2/media/analytics"
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/media/analytics', 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/media/analytics",
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/media/analytics"
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/media/analytics")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.x.com/2/media/analytics")
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": [
{
"media_key": "<string>",
"timestamped_metrics": [
{
"metrics": {
"cta_url_clicks": 123,
"cta_watch_clicks": 123,
"play_from_tap": 123,
"playback25": 123,
"playback50": 123,
"playback75": 123,
"playback_complete": 123,
"playback_start": 123,
"video_views": 123,
"watch_time_ms": 123
},
"timestamp": "2025-03-17T06:30:00Z"
}
]
}
],
"errors": [
{
"title": "<string>",
"type": "<string>",
"detail": "<string>",
"status": 123
}
]
}{
"code": 123,
"message": "<string>"
}Obtenir les statistiques des médias
Récupère les données analytiques pour les médias.
curl --request GET \
--url https://api.x.com/2/media/analytics \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.x.com/2/media/analytics"
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/media/analytics', 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/media/analytics",
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/media/analytics"
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/media/analytics")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.x.com/2/media/analytics")
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": [
{
"media_key": "<string>",
"timestamped_metrics": [
{
"metrics": {
"cta_url_clicks": 123,
"cta_watch_clicks": 123,
"play_from_tap": 123,
"playback25": 123,
"playback50": 123,
"playback75": 123,
"playback_complete": 123,
"playback_start": 123,
"video_views": 123,
"watch_time_ms": 123
},
"timestamp": "2025-03-17T06:30:00Z"
}
]
}
],
"errors": [
{
"title": "<string>",
"type": "<string>",
"detail": "<string>",
"status": 123
}
]
}{
"code": 123,
"message": "<string>"
}Autorisations
The access token received from the authorization server in the OAuth 2.0 flow.
Paramètres de requête
Une liste de clés media séparées par des virgules. Jusqu’à 100 sont autorisées dans une seule requête.
1 - 100 elementsL’identifiant Media Key pour cette pièce jointe.
^([0-9]+)_([0-9]+)$YYYY-MM-DDTHH:mm:ssZ. Horodatage UTC représentant la fin de l’intervalle temporel.
YYYY-MM-DDTHH:mm:ssZ. Horodatage UTC représentant le début de l’intervalle temporel.
La granularité des résultats de décompte de recherche.
hourly, daily, total Une liste de champs MediaAnalytics, séparés par des virgules, à renvoyer. Les champs disponibles pour l’objet MediaAnalytics.
1cta_url_clicks, cta_watch_clicks, media_key, play_from_tap, playback25, playback50, playback75, playback_complete, playback_start, timestamp, video_views, watch_time_ms [
"cta_url_clicks",
"cta_watch_clicks",
"media_key",
"play_from_tap",
"playback25",
"playback50",
"playback75",
"playback_complete",
"playback_start",
"timestamp",
"video_views",
"watch_time_ms"
]
Réponse
La requête a réussi.
Show 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