Veuillez noter : Nous avons publié une nouvelle version de la recherche de Posts et du comptage de Posts dans la X API v2. Nous vous encourageons à consulter les nouveautés de la X API v2. Ces endpoints ont été mis à jour pour inclure les metadata d’édition de Post. Pour en savoir plus, consultez la page des notions fondamentales “Modifier des Posts”.
Aperçu
Enterprise
Les API Enterprise sont disponibles uniquement dans le cadre de nos niveaux d’accès gérés. Pour utiliser ces API, vous devez d’abord configurer un compte avec notre équipe commerciale Enterprise. Pour en savoir plus, voir ICI.
Vous pouvez consulter toutes les offres de recherche de Posts de la X API ICI.
Il existe deux API de recherche Enterprise :
- L’API de recherche sur 30 jours fournit des données des 30 derniers jours.
- L’API de recherche sur l’archive complète offre un accès complet et instantané à l’intégralité du corpus de données X, jusqu’au premier Post en mars 2006.
Types de requêtes
Requêtes de recherche (data)
Requêtes de comptage (nombre de Posts)
Opérateurs disponibles
Correspondance sur le contenu des Posts : | Correspondance sur les comptes d’intérêt : | Attributs de Post : | Opérateurs géospatiaux : |
* mot-clé * « expression entre guillemets » * « keyword1 keyword2 »~N * # * @ * $ * url: * lang: | * from: * to: * retweets_of: | * is:retweet * has:mentions * has:hashtags * has:media * has:videos * has:images * has:links * has:symbols * is:verified * -is:nullcast (opérateur de négation uniquement) | * bounding_box:[west_long south_lat east_long north_lat] * point_radius:[lon lat radius] * has:geo * place: * place_country: * has:profile_geo * profile_country: * profile_region: * profile_locality: |
Disponibilité des données / date importante
- Premier Post : 21/03/2006
- Premiers Retweets natifs : 06/11/2009
- Premier Post géolocalisé : 19/11/2009
- URL indexées pour la première fois pour le filtrage : 27/08/2011
- Metadata d’expansion d’URL enrichies (titres et descriptions de sites web) : 01/12/2014
- Metadata d’enrichissement et de filtrage de Profil Geo : 17/02/2015
Mises à jour des données et mutabilité
- Métadonnées de l’objet utilisateur :
- @handle de l’utilisateur (l’id numérique ne change jamais)
- Description de la bio
- Compteurs : statuses, followers, friends, favorites, lists
- Localisation du profil
- Autres détails tels que le fuseau horaire et la langue
- Statistiques du Post — c’est‑à‑dire tout ce qui peut être modifié sur la plateforme par des actions des utilisateurs (exemples ci‑dessous) :
- Nombre de favorites
- Nombre de Retweets
Requêtes mono‑thread vs multi‑thread
Logique de nouvelle tentative
- Réessayez la requête après avoir réduit la période qu’elle couvre. Si nécessaire, répétez jusqu’à une fenêtre de 6 heures.
- Si vous combinez un grand nombre de termes avec OR, scindez-les en règles distinctes et réessayez chacune séparément.
- Si votre règle contient un grand nombre d’exclusions, réduisez le nombre de termes négatifs dans la règle et réessayez.
Bien démarrer
Prise en main de enterprise Search Posts : API 30-Day
- [Un compte Enterprise]https://developer.x.com/en/products/x-api/enterprise
- Votre nom d’utilisateur, votre mot de passe et le nom de votre compte
- Le label associé à votre endpoint de recherche, tel qu’affiché sur console.gnip.com
Accéder à l’endpoint de données
from:
et lang:
pour trouver des Posts publiés par @XDevelopers en anglais. Pour plus d’opérateurs, cliquez ici.
- cURL
- cURL example
-
Nom d’utilisateur
<USERNAME>
p. ex.email@domain.com
-
Nom du compte
<ACCOUNT-NAME>
p. ex.john-doe
-
Label
<LABEL>
p. ex.prod
-
fromDate et toDate p. ex.
"fromDate":"201811010000", "toDate":"201811122359"
Charge utile de la réponse de l’endpoint de données
Accéder à l’endpoint de comptage
day
.
- cURL
- cURL example
-
Nom d’utilisateur
<USERNAME>
(p. ex. :email@domain.com
) -
Nom du compte
<ACCOUNT-NAME>
(p. ex. :john-doe
) -
Label
<LABEL>
(p. ex. :prod
) -
fromDate et toDate (p. ex. :
"fromDate":"201811010000", "toDate":"201811122359"
)
Charge utile de la réponse de l’endpoint Counts
Articles de référence
Prise en main de l’API Enterprise Search Posts : Full-Archive
- [Un compte Enterprise]https://developer.x.com/en/products/x-api/enterprise
- Votre nom d’utilisateur, votre mot de passe et le nom du compte
- Le libellé associé à votre endpoint de recherche, tel qu’affiché sur console.gnip.com
Accéder à l’endpoint de données
from:
et lang:
pour trouver des Posts provenant de @XDevelopers en anglais. Pour plus d’opérateurs cliquez ici.
- cURL
- Exemple cURL
-
Nom d’utilisateur
<USERNAME>
p. ex.email@domain.com
-
Nom du compte
<ACCOUNT-NAME>
p. ex.john-doe
-
Label
<LABEL>
p. ex.prod
-
fromDate et toDate p. ex.
"fromDate":"201802010000", "toDate":"201802282359"
Charge utile de la réponse de l’endpoint de données
Accéder à l’endpoint de comptage
day
.
- cURL
- cURL example
-
Nom d’utilisateur
<USERNAME>
p. ex.email@domain.com
-
Nom du compte
<ACCOUNT-NAME>
p. ex.john-doe
-
Label
<LABEL>
p. ex.prod
-
fromDate et toDate p. ex.
"fromDate":"201802010000", "toDate":"201802282359"
Charge utile de la réponse de l’endpoint Counts
Articles de référence
Guides
Concevoir des requêtes de recherche
Opérateurs Enterprise
- API de recherche Enterprise sur 30 jours
- API de recherche Enterprise de l’intégralité des archives
Opérateur | Description |
---|---|
keyword | Correspond à un mot-clé tokenisé dans le corps ou les URL d’un Post. Il s’agit d’une correspondance tokenisée, ce qui signifie que votre chaîne de mot-clé sera comparée au texte tokenisé du corps du Post – la tokenisation est basée sur la ponctuation, les symboles et les caractères de séparation du plan de base Unicode. Par exemple, un Post avec le texte « I like coca-cola » serait divisé en tokens suivants : I, like, coca, cola. Ces tokens seraient ensuite comparés à la chaîne de mot-clé utilisée dans votre règle. Pour faire correspondre des chaînes contenant de la ponctuation (par exemple, coca-cola), des symboles ou des caractères de séparation, vous devez utiliser une correspondance exacte entre guillemets comme décrit ci-dessous. Remarque : Avec l’API Search, les caractères accentués et spéciaux sont normalisés en caractères latins standard, ce qui peut changer les significations dans les langues étrangères ou retourner des résultats inattendus : Par exemple, « músic » correspondra à « music » et vice versa. Par exemple, des phrases courantes comme « Feliz Año Nuevo! » en espagnol, seraient indexées comme « Feliz Ano Nuevo », ce qui change la signification de la phrase. Remarque : Cet opérateur correspondra à la fois aux URL et aux URL déroulées dans un Post. |
emoji | Correspond à un emoji dans le corps d’un Post. Les emojis sont une correspondance tokenisée, ce qui signifie que votre emoji sera comparé au texte tokenisé du corps du Post – la tokenisation est basée sur la ponctuation, les symboles/emojis et les caractères de séparation du plan de base Unicode. Par exemple, un Post avec le texte « I like » serait divisé en tokens suivants : I, like, . Ces tokens seraient ensuite comparés à l’emoji utilisé dans votre règle. Notez que si un emoji a une variante, vous devez utiliser des « guillemets » pour l’ajouter à une règle. |
”correspondance de phrase exacte” | Correspond à la phrase tokenisée et ordonnée dans le corps ou les URL d’un Post. Il s’agit d’une correspondance tokenisée, ce qui signifie que votre chaîne de mot-clé sera comparée au texte tokenisé du corps du Post – la tokenisation est basée sur la ponctuation, les symboles et les caractères de séparation du plan de base Unicode. Remarque : La ponctuation n’est pas tokenisée et est plutôt traitée comme un espace. Par exemple, « #hashtag » entre guillemets correspondra à « hashtag » mais pas à #hashtag (utilisez l’opérateur hashtag # sans guillemets pour correspondre aux hashtags réels). Par exemple, « cashtag (utilisez l’opérateur cashtag $ sans guillemets pour correspondre aux cashtags réels). Par exemple, « Love Snow » correspondra à « #love #snow » Par exemple, « #Love #Snow » correspondra à « love snow » Remarque : Cet opérateur correspondra à la fois aux URL et aux URL déroulées dans un Post. |
”keyword1 keyword2”~N | Communément appelé opérateur de proximité, cela correspond à un Post où les mots-clés ne sont pas à plus de N tokens l’un de l’autre. Si les mots-clés sont dans l’ordre inverse, ils ne peuvent pas être à plus de N-2 tokens l’un de l’autre. Peut avoir n’importe quel nombre de mots-clés entre guillemets. N ne peut pas être supérieur à 6. Notez que cet opérateur n’est disponible que dans les API de recherche Enterprise . |
from: | Correspond à tout Post d’un utilisateur spécifique. La valeur doit être l’ID de compte numérique X de l’utilisateur ou le nom d’utilisateur (excluant le caractère @). Voir ICI ou ICI pour les méthodes de recherche des ID de compte X numériques. |
to: | Correspond à tout Post qui est en réponse à un utilisateur particulier. La valeur doit être l’ID de compte numérique de l’utilisateur ou le nom d’utilisateur (excluant le caractère @). Voir ICI pour les méthodes de recherche des ID de compte X numériques. |
url: | Effectue une correspondance tokenisée (mot-clé/phrase) sur les URL étendues d’un Post (similaire à url_contains). Les tokens et phrases contenant de la ponctuation ou des caractères spéciaux doivent être entre guillemets doubles. Par exemple, url:“/developer”. Bien que généralement non recommandé, si vous voulez faire correspondre un protocole spécifique, mettez-le entre guillemets doubles : url:“https://developer.x.com”. Remarque : Lors de l’utilisation de PowerTrack ou Historical PowerTrack, cet opérateur correspondra aux URL contenues dans le Post original d’un Quote Post. Par exemple, si votre règle inclut url:“developer.x.com”, et qu’un Post contient cette URL, tous les Quote Tweets de ce Post seront inclus dans les résultats. Ce n’est pas le cas lors de l’utilisation de l’API Search. |
# | Correspond à tout Post avec le hashtag donné. Cet opérateur effectue une correspondance exacte, PAS une correspondance tokenisée, ce qui signifie que la règle « 2016 » correspondra aux posts avec le hashtag exact « 2016 », mais pas à ceux avec le hashtag « 2016election » Remarque : l’opérateur hashtag s’appuie sur l’extraction d’entités de X pour faire correspondre les hashtags, plutôt que d’extraire le hashtag du corps lui-même. Voir ICI pour plus d’informations sur les attributs JSON des entités X. |
@ | Correspond à tout Post qui mentionne le nom d’utilisateur donné. L’opérateur to: retourne une correspondance de sous-ensemble de l’opérateur @mention. |
$ | Correspond à tout Post qui contient le « cashtag » spécifié (où le caractère de tête du token est le caractère « $ »). Notez que l’opérateur cashtag s’appuie sur l’extraction d’entités « symbols » de X pour faire correspondre les cashtags, plutôt que d’essayer d’extraire le cashtag du corps lui-même. Voir ICI pour plus d’informations sur les attributs JSON des entités X. Notez que cet opérateur n’est disponible que dans les API de recherche Enterprise . |
retweets_of: | Alias disponible : retweets_of_user: Correspond aux Posts qui sont des retweets d’un utilisateur spécifié. Accepte à la fois les noms d’utilisateur et les ID de compte X numériques (PAS les ID de statut de Post). Voir ICI pour les méthodes de recherche des ID de compte X numériques. |
lang: | Correspond aux Posts qui ont été classifiés par X comme étant d’une langue particulière (si, et seulement si, le post a été classifié). Il est important de noter que chaque Post n’est actuellement classifié que comme étant d’une seule langue, donc utiliser AND avec plusieurs langues ne donnera aucun résultat. Remarque : si aucune classification de langue ne peut être faite, le résultat fourni est « und » (pour indéfini). La liste ci-dessous représente les langues actuellement prises en charge et leur identifiant de langue BCP 47 correspondant : |
Amharique : am | Allemand : de | Malayalam : ml | Slovaque : sk |
Arabe : ar | Grec : el | Maldivien : dv | Slovène : sl |
Arménien : hy | Gujarati : gu | Marathi : mr | Kurde sorani : ckb |
Basque : eu | Créole haïtien : ht | Népalais : ne | Espagnol : es |
Bengali : bn | Hébreu : iw | Norvégien : no | Suédois : sv |
Bosniaque : bs | Hindi : hi | Odia : or | Tagalog : tl |
Bulgare : bg | Hindi latinisé : hi-Latn | Pendjabi : pa | Tamoul : ta |
Birman : my | Hongrois : hu | Pachto : ps | Télougou : te |
Croate : hr | Islandais : is | Persan : fa | Thaï : th |
Catalan : ca | Indonésien : in | Polonais : pl | Tibétain : bo |
Tchèque : cs | Italien : it | Portugais : pt | Chinois traditionnel : zh-TW |
Danois : da | Japonais : ja | Roumain : ro | Turc : tr |
Néerlandais : nl | Kannada : kn | Russe : ru | Ukrainien : uk |
Anglais : en | Khmer : km | Serbe : sr | Ourdou : ur |
Estonien : et | Coréen : ko | Chinois simplifié : zh-CN | Ouïghour : ug |
Finnois : fi | Lao : lo | Sindhi : sd | Vietnamien : vi |
Français : fr | Letton : lv | Sinhala : si | Gallois : cy |
Géorgien : ka | Lituanien : lt |
place: | Fait correspondre les Posts tagués avec le lieu spécifié ou l’id de lieu X (voir exemples). Les noms de lieux comportant plusieurs mots (« New York City », « Palo Alto ») doivent être entre guillemets. Remarque : Consultez l’endpoint API public GET geo/search pour savoir comment obtenir des id de lieux X. Remarque : Cet opérateur ne correspond pas aux Retweets, car les lieux d’un Retweet sont rattachés au Post d’origine. Il ne correspond pas non plus aux lieux rattachés au Post d’origine d’un Quote Tweet. |
place_country: | Fait correspondre les Posts dont le code pays associé à un lieu tagué correspond au code ISO alpha-2 fourni. Des codes ISO valides sont disponibles ici : http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 Remarque : Cet opérateur ne correspond pas aux Retweets, car les lieux d’un Retweet sont rattachés au Post d’origine. Il ne correspond pas non plus aux lieux rattachés au Post d’origine d’un Quote Tweet. |
point_radius:[lon lat radius] | Fait correspondre la position exacte (x,y) du Post lorsque présente et, sur X, un polygone géographique « Place » lorsque le Place est entièrement contenu dans la zone définie. * Les unités de rayon prises en charge sont les miles (mi) et les kilomètres (km). * Le rayon doit être inférieur à 25 mi. * La longitude est comprise entre ±180 * La latitude est comprise entre ±90 * Toutes les coordonnées sont en degrés décimaux. * Les arguments de règle sont placés entre crochets, séparés par des espaces. Remarque : Cet opérateur ne correspond pas aux Retweets, car les lieux d’un Retweet sont rattachés au Post d’origine. Il ne correspond pas non plus aux lieux rattachés au Post d’origine d’un Quote Tweet. |
bounding_box:[west_long south_lat east_long north_lat] | Alias disponible : geo_bounding_box: Fait correspondre la position exacte (long, lat) du Post lorsque présente et, sur X, un polygone géographique « Place » lorsque le Place est entièrement contenu dans la zone définie. * west_long et south_lat représentent le coin sud-ouest de la boîte englobante, où west_long est la longitude de ce point et south_lat en est la latitude. * east_long et north_lat représentent le coin nord-est de la boîte englobante, où east_long est la longitude de ce point et north_lat en est la latitude. * La largeur et la hauteur de la boîte englobante doivent être inférieures à 25 mi * La longitude est comprise entre ±180 * La latitude est comprise entre ±90 * Toutes les coordonnées sont en degrés décimaux. * Les arguments de règle sont placés entre crochets, séparés par des espaces. Remarque : Cet opérateur ne correspond pas aux Retweets, car les lieux d’un Retweet sont rattachés au Post d’origine. Il ne correspond pas non plus aux lieux rattachés au Post d’origine d’un Quote Tweet. |
profile_country: | Correspondance exacte avec le champ « countryCode » de l’objet « address » dans l’enrichissement Profile Geo. Utilise un ensemble normalisé de codes pays à deux lettres, basé sur la spécification ISO-3166-1-alpha-2. Cet opérateur est fourni à la place d’un opérateur pour le champ « country » de l’objet « address » par souci de concision. |
profile_region: | Fait correspondre le champ « region » de l’objet « address » dans l’enrichissement Profile Geo. Il s’agit d’une correspondance de chaîne complète et exacte. Il n’est pas nécessaire d’échapper les caractères avec une barre oblique inverse. Par exemple, pour faire correspondre un texte contenant une barre oblique, utilisez « one/two », et non « one/two ». Utilisez des guillemets doubles pour faire correspondre des sous-chaînes contenant des espaces ou de la ponctuation. |
profile_locality: | Fait correspondre le champ « locality » de l’objet « address » dans l’enrichissement Profile Geo. Il s’agit d’une correspondance de chaîne complète et exacte. Il n’est pas nécessaire d’échapper les caractères avec une barre oblique inverse. Par exemple, pour faire correspondre un texte contenant une barre oblique, utilisez « one/two », et non « one/two ». Utilisez des guillemets doubles pour faire correspondre des sous-chaînes contenant des espaces ou de la ponctuation. |
has:geo | Correspond aux Posts qui contiennent des données de géolocalisation spécifiques au Post fournies par X. Il peut s’agir soit de coordonnées « geo » latitude-longitude, soit d’un « location » sous la forme d’un X « Place », avec le nom d’affichage correspondant, le polygone géographique et d’autres champs. Remarque : Lors de l’utilisation de l’API Search, cet opérateur doit être utilisé conjointement avec d’autres opérateurs qui n’incluent pas is: ou has: . |
has:profile_geo | Alias disponible : has:derived_user_geo Correspond aux Posts qui contiennent des métadonnées Profile Geo, quelle que soit la valeur réelle. Remarque : Lors de l’utilisation de l’API Search, cet opérateur doit être utilisé conjointement avec d’autres opérateurs qui n’incluent pas is: ou has: . |
has:links | Cet opérateur correspond aux Posts qui contiennent des liens dans le corps du message. Remarque : Lors de l’utilisation de l’API Search, cet opérateur doit être utilisé conjointement avec d’autres opérateurs qui n’incluent pas is: ou has: . |
is:retweet | Renvoie uniquement les retweets explicites qui correspondent à une règle. Peut également être inversé pour exclure les retweets qui correspondent à une règle et ne renvoyer que le contenu original. Cet opérateur recherche uniquement les vrais Retweets, qui utilisent la fonctionnalité de retweet de X. Les Tweets cités et les Posts modifiés qui n’utilisent pas la fonctionnalité de retweet de X ne seront pas détectés par cet opérateur. Remarque : Lors de l’utilisation de l’API Search, cet opérateur doit être utilisé conjointement avec d’autres opérateurs qui n’incluent pas is: ou has: . |
is:reply | Un opérateur pour filtrer les Posts selon qu’ils sont ou ne sont pas des réponses à des Posts. Renvoie uniquement les réponses explicites qui correspondent à une règle. Peut également être inversé pour exclure les réponses qui correspondent à une règle. Notez que cet opérateur est disponible pour la recherche premium payante et Enterprise et n’est pas disponible dans les environnements de développement Sandbox. Remarque : Lors de l’utilisation de l’API Search, cet opérateur doit être utilisé conjointement avec d’autres opérateurs qui n’incluent pas is: ou has: . |
is:quote | Renvoie uniquement les Quote Tweets, ou Posts qui référencent un autre Post, comme identifié par le « is_quote_status »:true dans les charges utiles de Post. Peut également être inversé pour exclure les Quote Tweets. Remarque : Lors de l’utilisation de l’API Search, cet opérateur doit être utilisé conjointement avec d’autres opérateurs qui n’incluent pas is: ou has: . |
is:verified | Renvoie uniquement les Posts dont l’auteur est « vérifié » par X. Peut également être inversé pour exclure les Posts dont l’auteur est vérifié. Remarque : Lors de l’utilisation de l’API Search, cet opérateur doit être utilisé conjointement avec d’autres opérateurs qui n’incluent pas is: ou has: . |
has:mentions | Correspond aux Posts qui mentionnent un autre utilisateur X. Remarque : Lors de l’utilisation de l’API Search, cet opérateur doit être utilisé conjointement avec d’autres opérateurs qui n’incluent pas is: ou has: . |
has:hashtags | Correspond aux Posts qui contiennent un hashtag. Remarque : Lors de l’utilisation de l’API Search, cet opérateur doit être utilisé conjointement avec d’autres opérateurs qui n’incluent pas is: ou has: . |
has:media | Alias disponible : has:media_link Correspond aux Posts qui contiennent une URL de média classifiée par X. Par exemple, pic.x.com. Remarque : Lors de l’utilisation de l’API Search, cet opérateur doit être utilisé conjointement avec d’autres opérateurs qui n’incluent pas is: ou has: . |
has:images | Correspond aux Posts qui contiennent une URL de média classifiée par X. Par exemple, pic.x.com. Remarque : Lors de l’utilisation de l’API Search, cet opérateur doit être utilisé conjointement avec d’autres opérateurs qui n’incluent pas is: ou has: . |
has:videos | Alias disponible : has:video_link Correspond aux Posts qui contiennent des vidéos natives X, téléchargées directement sur X. Cela ne correspondra pas aux vidéos créées avec Vine, Periscope, ou aux Posts avec des liens vers d’autres sites d’hébergement vidéo. Remarque : Lors de l’utilisation de l’API Search, cet opérateur doit être utilisé conjointement avec d’autres opérateurs qui n’incluent pas is: ou has: . |
has:symbols | Correspond aux Posts qui contiennent un symbole cashtag (avec un caractère « tag). Notez que cet opérateur n’est disponible que dans les API de recherche enterprise . Remarque : Lors de l’utilisation de l’API Search, cet opérateur doit être utilisé conjointement avec d’autres opérateurs qui n’incluent pas is: ou has: . |
Présentation du produit
Chronologie des métadonnées
to:
et in_reply_to_status_id:
.
Les détails fournis ici ont été générés à l’aide de la recherche sur l’intégralité des archives (issue de centaines de recherches). Cette chronologie n’est pas complète à 100 % ni parfaitement précise. Si vous identifiez une autre « date de naissance » de filtrage/de métadonnées fondamentale pour votre cas d’utilisation, veuillez nous en informer.
Notez que l’index de recherche sous-jacent peut être reconstruit. En conséquence, ces détails chronologiques sont susceptibles d’évoluer.
2006
- 26 mars -
lang:
. Exemple de metadata de Post renseignées a posteriori lors de la génération de l’index de recherche. - 13 juillet -
has:mentions
commence à faire des correspondances. - 6 octobre -
has:symbols
. Les slang). - 26 octobre -
has:links
commence à faire des correspondances. - 23 novembre -
has:hashtags
commence à faire des correspondances.
2007
- 30 janvier - Première @reply de premier rang (in_reply_to_user_id),
reply_to_status_id:
commence à faire des correspondances. - 23 août - Les hashtags s’imposent comme convention courante pour organiser les sujets et les conversations. Première utilisation concrète une semaine plus tard.
2009
- 15 mai -
is:retweet
. Notez que cet opérateur commence à faire correspondre avec la version « bêta » des Retweets officiels et son motif « Via @ ». Pendant cette période bêta, le verbe Post est « post » et le Post original n’est pas inclus dans le payload. - 13 août - La version finale des Retweets officiels est publiée avec le motif « RT @ », un verbe défini sur « share », et l’attribut « retweet_status » contenant le Post original (ce qui double approximativement la taille du payload JSON).
2010
- 6 mars - Les opérateurs géo
has:geo
,bounding_box:
etpoint_radius:
commencent à effectuer des correspondances. - 28 août -
has:videos
(Jusqu’en février 2015, cet opérateur correspond aux Posts contenant des liens vers certains sites d’hébergement vidéo, tels que youtube.com, vimeo.com et vivo.com).
2011
- 20 juillet -
has:media
ethas:images
commencent à faire correspondre. Les photos natives ont été officiellement annoncées le 9 août 2010.
2014
- 3 décembre - (Environ) Certaines métadonnées d’URL enrichies incluant le title HTML et la description commencent à apparaître dans les payloads. Les métadonnées enrichies se sont pleinement déployées en mai 2016.
2015
- 10 février -
has:videos
correspond aux vidéos « natives » de X. - 17 février -
has:profile_geo
,profile_country:
,profile_region:
,profile_locality:
Les opérateurs Profile Geo commencent à correspondre. - 17 février - Les opérateurs de géolocalisation des Posts
place_country:
etplace:
commencent à correspondre.
2016
- 1er mai - Enhanced URL metadata désormais plus largement disponible et officiellement annoncé dans le cadre du lancement de Gnip 2.0 en août 2016. Aucun opérateur associé pour ces metadata avec les API de recherche.
2017
- 22 février - Les metadata des sondages sont disponibles dans un format natif enrichi. Aucun opérateur associé pour ces metadata.
2022
- 27 septembre - Tous les objets Post créés depuis cette date disposent des métadonnées d’édition de Post. Tous les endpoints Enterprise qui fournissent des objets Post ont été mis à jour à partir de cette date pour inclure ces métadonnées. Les métadonnées d’édition fournies incluent les objets edit_history et edit_controls. Ces métadonnées ne seront pas renvoyées pour les Posts créés avant le 27 septembre 2022. Actuellement, il n’existe aucun opérateur Enterprise correspondant à ces métadonnées. Pour en savoir plus sur les métadonnées d’édition de Post, consultez la page Principes fondamentaux de l’édition des Posts.
2022
- 29 septembre - Tous les objets Post créés depuis cette date disposent des métadonnées d’édition de Post. Tous les endpoints Enterprise qui fournissent des objets Post ont été mis à jour pour fournir ces métadonnées à compter de cette date. Les métadonnées d’édition fournies incluent les objets edit_history et edit_controls. Ces métadonnées ne seront pas renvoyées pour les Posts créés avant le 27 septembre 2022. Actuellement, aucun opérateur Enterprise ne correspond à ces métadonnées. Pour en savoir plus sur les métadonnées d’édition de Post, consultez la page Fondamentaux des Posts modifiés.
Conseils de filtrage
- Certaines metadata ont des dates de « naissance », de sorte que les filtres peuvent entraîner des faux négatifs. Ces recherches incluent des opérateurs reposant sur des metadata qui n’existaient pas pendant tout ou partie de la période de recherche. Par exemple, si vous recherchez des Posts avec l’opérateur
has:images
, vous n’obtiendrez aucune correspondance pour les périodes antérieures à juillet 2011. Cela s’explique par le fait que cet opérateur cible les photos natives (jointes à un Post via l’interface utilisateur de X). Pour obtenir un ensemble de données plus complet de Posts de partage de photos, les filtres portant sur une période antérieure à juillet 2011 devraient inclure des clauses de règles correspondant aux URL courantes d’hébergement de photos. - Certaines metadata ont été rétro-remplies avec des metadata issues d’une période postérieure à la publication sur X.
- Profils X
- Posts originaux ou partagés
- Classification de la langue du Post
- Géoréférencement des Posts
- Médias des liens partagés
Profils X
Posts d’origine et Retweets
_is:retweet_
permet d’inclure ou d’exclure les Retweets. Les utilisateurs de cet opérateur doivent adopter deux stratégies pour faire correspondre (ou non) les Retweets dans les data antérieures à août 2009. Avant août 2009, il faut vérifier le message du Post lui‑même, en utilisant une correspondance d’expression exacte, afin d’identifier le motif « @RT » (en fait, si vous filtrez des Retweets entre mai et août 2009, il convient d’inclure également le motif « Via @ »). Pour les périodes postérieures à août 2009, l’opérateur is:retweet est disponible.
Classifications de langue des Posts
Référencement géographique des Posts
- Références géographiques dans le message du Post. La recherche de correspondances sur des références géographiques dans le message du Post, bien que souvent la méthode la plus difficile car elle dépend des connaissances locales, est une option pour l’ensemble de l’archive de Posts. Voici un exemple de correspondance géoréférencée datant de 2006 pour la région de San Francisco, basé sur un filtre « golden gate ».
-
Posts géolocalisés par l’utilisateur. Avec les API de recherche, la possibilité de commencer à faire correspondre des Posts à l’aide de certains opérateurs Geo a débuté en mars 2010, puis avec d’autres en février 2015 :
- 6 mars 2010 :
has:geo
,bounding_box:
etpoint_radius:
- 17 février 2015 :
place_country:
etplace:
- 6 mars 2010 :
-
Localisation « domicile » du profil du compte définie par l’utilisateur. Les opérateurs Geo de profil sont disponibles à la fois dans Historical PowerTrack et dans les API de recherche. Avec les API de recherche, ces métadonnées Geo de profil sont disponibles à partir de février 2015. Pour les Posts publiés avant la disponibilité des métadonnées Geo de profil, l’opérateur
bio_location:
est disponible et peut être utilisé pour faire correspondre des saisies utilisateur non normalisées.
- 26 octobre 2006 -
has:links
- 20 juillet 2011 -
has:images
ethas:media
- Août 2011 -
url:
avec l’enrichissement Expanded URLs Dès septembre 2006,(url:"spotify.com" OR url:gnip OR url:microsoft OR url:google OR url:youtube)
correspond à http://x.com/Adam/statuses/16602, même s’il n’y a pas de metadata urls[] dans twitter_entities et les objets gnip. « youtube.com » est un exemple de contenu de message qui, sans aucune metadata urls[], correspond à url:youtube. - 10 février 2015 -
has:videos
pour les vidéos natives. Entre le 28/08/2010 et le 10/02/2015, cet opérateur correspond aux Posts comportant des liens vers certains sites d’hébergement vidéo tels que youtube.com, vimeo.com et vivo.com. - 1er mai 2016 -
url_title:
eturl_description:
, basés sur l’enrichissement Enhanced URLs, généralement disponibles. Les premières metadata Enhanced URL ont commencé à apparaître en décembre 2014.
Foire aux questions (FAQ)
Questions générales sur l’API de recherche de Posts
Le nombre de Posts que je reçois avec l’endpoint data ne correspond pas au nombre de Posts identifié par l’endpoint counts. Pourquoi est-ce le cas ?
Le nombre de Posts que je reçois avec l’endpoint data ne correspond pas au nombre de Posts identifié par l’endpoint counts. Pourquoi est-ce le cas ?
Je n’ai pas reçu un Post qui devrait correspondre à ma query. Pourquoi ?
Je n’ai pas reçu un Post qui devrait correspondre à ma query. Pourquoi ?
- le Post que vous vous attendiez à voir provient d’un compte protégé ;
- l’endpoint data tient compte de tous les événements de conformité (ce qui signifie que les Posts supprimés, les géodonnées purgées, etc., ne seront pas incluses dans la réponse).
Ma query a correspondu à un Post mais includes un mot-clé que j’ai exclu. Pourquoi cela se produit-il ?
Ma query a correspondu à un Post mais includes un mot-clé que j’ai exclu. Pourquoi cela se produit-il ?
Existe-t-il des bibliothèques que je peux utiliser pour commencer à utiliser les API Search Post ?
Existe-t-il des bibliothèques que je peux utiliser pour commencer à utiliser les API Search Post ?
- Tweepy - idéal pour utiliser le produit standard Search/Posts (Python)
- X API - idéal pour utiliser les API standard Search Posts (Python)
- Search Posts Python et Search Posts Ruby - deux excellents outils pouvant être utilisés avec les API Search Posts pour Enterprise (et v2 !)
Recevrai‑je parfois un volume de Posts inférieur à la valeur que j’ai définie pour `maxResults` dans ma requête vers l’endpoint de data ?
Recevrai‑je parfois un volume de Posts inférieur à la valeur que j’ai définie pour `maxResults` dans ma requête vers l’endpoint de data ?
maxResults
spécifié, soit au bout de 30 jours.Par exemple, si vous avez 800 Posts sur une période de 30 jours, vous devrez effectuer deux requêtes pour récupérer l’ensemble des résultats, car le nombre maximal de Posts pouvant être renvoyés par requête est de 500 (maxResults
). Et si vous avez seulement 400 Posts le premier mois, puis 100 Posts le deuxième mois, vous devrez également effectuer deux requêtes pour récupérer l’intégralité des résultats, car la pagination intervient après une période de 30 jours, même si la première requête renvoie moins que le nombre de Posts spécifié par maxResults
.Dans quel ordre les Posts correspondants sont-ils renvoyés ?
Dans quel ordre les Posts correspondants sont-ils renvoyés ?
fromDate
demandée initialement.Comment les Post modifiés affectent-ils mon utilisation et ma facturation ?
Comment les Post modifiés affectent-ils mon utilisation et ma facturation ?
Je souhaite en savoir plus sur la tarification de l’API Search Post Enterprise et déposer une demande pour cette offre. Comment procéder ?
Je souhaite en savoir plus sur la tarification de l’API Search Post Enterprise et déposer une demande pour cette offre. Comment procéder ?
Comment créer un ensemble de règles correspondant à mon cas d’utilisation ?
Comment créer un ensemble de règles correspondant à mon cas d’utilisation ?
- Veuillez consulter la documentation de nos API de recherche de Post Enterprise ici
- Des informations utiles sur les règles et le filtrage sont disponibles ici
- Des informations utiles sur l’utilisation de l’endpoint data sont disponibles ici
- Des informations utiles sur l’utilisation de l’endpoint counts sont disponibles ici
- Une liste des opérateurs disponibles est proposée ici
J’ai dépassé mes plafonds/limites de requêtes pour ce mois, mais j’ai besoin d’accéder à davantage de data – que puis‑je faire ?
J’ai dépassé mes plafonds/limites de requêtes pour ce mois, mais j’ai besoin d’accéder à davantage de data – que puis‑je faire ?
Guide de dépannage des erreurs
- Assurez-vous d’utiliser les paramètres appropriés pour chaque endpoint (par exemple, le champ
buckets
ne peut être utilisé qu’avec l’endpoint de comptage, pas avec l’endpoint de data) - Vérifiez à nouveau que les champs
:product
,:account_name
et:label
sont corrects. Vous pouvez trouver votre champ:label
dans la GNIP Console (clients Enterprise uniquement).
Référence de l’API
API de recherche Enterprise
- 30-Day Search API - fournit des Tweets publiés au cours des 30 derniers jours.
- Full-Archive Search API - fournit des Tweets remontant jusqu’en 2006, en commençant par le premier Tweet publié en mars 2006.
- Méthodes pour demander des données et des décomptes de Tweets
- Authentification
- Pagination
- Paramètres de requête de l’API et exemples de requêtes
- Charges utiles JSON de réponse de l’API et exemples de réponses
- Codes de réponse HTTP
Méthodes
https://gnip-api.x.com/search/
.
Méthode | Description |
---|---|
POST /search/:product/accounts/:account_name/:label | Récupère les Tweets des 30 derniers jours correspondant à la règle PowerTrack spécifiée. |
POST /search/:product/accounts/:account_name/:label/counts | Récupère le nombre de Tweets des 30 derniers jours correspondant à la règle PowerTrack spécifiée. |
:product
indique l’endpoint de recherche auquel vous adressez des requêtes, soit30day
, soitfullarchive
.:account_name
est le nom (sensible à la casse) associé à votre compte, tel qu’affiché sur console.gnip.com.:label
est le libellé (sensible à la casse) associé à votre endpoint de recherche, tel qu’affiché sur console.gnip.com.
- Endpoint de données : https://gnip-api.x.com/search/30day/accounts/TwitterDev/prod.json
- Endpoint de comptage : https://gnip-api.x.com/search/30day/accounts/TwitterDev/prod/counts.json
:product
, :account_name
et :label
. Pour utiliser ces exemples, veillez à mettre à jour les URL avec vos informations.
Authentification
Comportement des requêtes/réponses
fromDate
et toDate
, vous pouvez demander n’importe quelle période prise en charge par l’API. L’API de recherche 30-Day fournit des Tweets issus des 31 derniers jours (bien que dite « 30-Day », elle en expose 31 afin de permettre des requêtes couvrant un mois complet). L’API de recherche Full-Archive fournit des Tweets remontant jusqu’au tout premier Tweet (21 mars 2006). Toutefois, une seule réponse sera limitée à la plus petite valeur entre votre maxResults
spécifié et 31 jours. Si les données correspondantes ou votre plage temporelle dépassent votre maxResults
spécifié ou 31 jours, vous recevrez un jeton « next » que vous devrez utiliser pour paginer le reste de la plage temporelle spécifiée.
Par exemple, supposons que vous utilisiez la recherche Full-Archive et souhaitiez récupérer tous les Tweets correspondant à votre query du 1er janvier 2017 au 30 juin 2017. Vous indiquerez cette période de six mois dans votre requête à l’aide des paramètres fromDate
et toDate
. L’API de recherche renverra la première « page » de Tweets, avec un nombre de Tweets correspondant à votre paramètre maxResults
(qui vaut 100 par défaut). En supposant qu’il y ait plus de Tweets (ce qui est très probable), l’API fournira également un jeton « next » qui vous permettra d’effectuer une requête pour la « page » de données suivante. Ce processus est répété jusqu’à ce que l’API ne renvoie plus de jeton « next ». Voir la section suivante pour plus de détails.
Pagination
Pagination des données
maxResults
est par défaut à 100 et peut être fixé entre 10 et 500. Si votre query correspond à plus de Tweets que la valeur de ‘maxResults’ utilisée dans la requête, la réponse inclura un jeton ‘next’ (en tant qu’attribut JSON au niveau racine). Ce jeton ‘next’ est utilisé dans la requête suivante pour récupérer la portion suivante des Tweets correspondant à cette query (c’est‑à‑dire la « page » suivante). Des jetons ‘next’ continueront d’être fournis jusqu’à ce que vous atteigniez la dernière « page » de résultats pour cette query, moment auquel aucun jeton ‘next’ n’est renvoyé.
Pour demander la « page » suivante de données, vous devez effectuer exactement la même query que l’originale, y compris les paramètres query
, toDate
et fromDate
, le cas échéant, et inclure également un paramètre de requête ‘next’ défini sur la valeur de la réponse précédente. Cela peut être utilisé avec une requête GET ou POST. Toutefois, dans le cas d’une requête GET, le paramètre ‘next’ doit être encodé dans l’URL.
Vous pouvez continuer à transmettre l’élément ‘next’ de votre query précédente jusqu’à ce que vous ayez reçu tous les Tweets de la période couverte par votre query. Lorsque vous recevez une réponse qui n’inclut pas d’élément ‘next’, cela signifie que vous avez atteint la dernière page et qu’aucune donnée supplémentaire n’est disponible pour la query et la plage temporelle spécifiées.
Pagination des décomptes
Notes supplémentaires
- Lorsque vous utilisez fromDate ou toDate dans une requête de recherche, vous n’obtiendrez que des résultats compris dans votre plage temporelle. Lorsque vous atteignez le dernier groupe de résultats de votre plage temporelle, vous ne recevrez pas de jeton “next”.
- L’élément “next” peut être utilisé avec n’importe quelle valeur maxResults comprise entre 10 et 500 (valeur par défaut : 100). Le paramètre maxResults détermine le nombre de Tweets renvoyés dans chaque réponse, mais ne vous empêche pas d’obtenir l’ensemble des résultats au final.
- L’élément “next” n’expire pas. Plusieurs requêtes utilisant la même query “next” recevront les mêmes résultats, quel que soit le moment où la requête est effectuée.
- Lors de la pagination des résultats à l’aide du paramètre “next”, vous pouvez rencontrer des doublons aux limites de la query. Votre application doit les tolérer.
Endpoint data
POST /search/:product/:label
Modèle d’endpoint :
Paramètres de requête de données
Paramètres | Description | Requis | Valeur d’exemple |
---|---|---|---|
query | L’équivalent d’une règle PowerTrack, jusqu’à 2 048 caractères (sans limite quant au nombre de clauses positives et négatives). Ce paramètre doit inclure TOUTES les composantes de la règle PowerTrack, y compris tous les opérateurs, et aucune partie de la règle ne doit être séparée dans d’autres paramètres de la query. Remarque : Tous les opérateurs PowerTrack ne sont pas pris en charge. Les opérateurs pris en charge sont répertoriés ICI. | Oui | (snow OR cold OR blizzard) weather |
tag | Les tags peuvent être utilisés pour regrouper les règles et leurs données correspondantes en ensembles logiques distincts. Si un tag de règle est fourni, il est inclus dans l’attribut ‘matching_rules’. Il est recommandé d’attribuer des UUID spécifiques à chaque règle aux tags et de maintenir les correspondances souhaitées côté client. | Non | 8HYG54ZGTU |
fromDate | L’horodatage UTC le plus ancien (jusqu’au 21/03/2006 avec la recherche Full-Archive) à partir duquel les Tweets seront fournis. L’horodatage est à la granularité de la minute et est inclusif (p. ex., 12:00 inclut la minute 00). Spécifié : Utiliser uniquement fromDate sans paramètre toDate renverra des résultats pour la query en remontant dans le temps depuis maintenant( ) jusqu’à fromDate. Non spécifié : Si fromDate n’est pas indiqué, l’API renverra tous les résultats pour les 30 jours précédant maintenant( ) ou toDate (s’il est indiqué). Si ni fromDate ni toDate n’est utilisé, l’API renverra tous les résultats des 30 derniers jours, à partir du moment de la requête, en remontant dans le temps. | Non | 201207220000 |
toDate | L’horodatage UTC le plus récent jusqu’auquel les Tweets seront fournis. L’horodatage est à la granularité de la minute et n’est pas inclusif (p. ex., 11:59 n’inclut pas la 59e minute de l’heure). Spécifié : Utiliser uniquement toDate sans paramètre fromDate renverra les 30 derniers jours de données avant toDate. Non spécifié : Si toDate n’est pas indiqué, l’API renverra tous les résultats depuis maintenant( ) pour la query en remontant dans le temps jusqu’à fromDate. Si ni fromDate ni toDate n’est utilisé, l’API renverra tous les résultats pour l’ensemble de l’index de 30 jours, à partir du moment de la requête, en remontant dans le temps. | Non | 201208220000 |
maxResults | Le nombre maximal de résultats de recherche renvoyés par une requête. Un nombre entre 10 et la limite du système (actuellement 500). Par défaut, la réponse à une requête renvoie 100 résultats. | Non | 500 |
next | Ce paramètre est utilisé pour obtenir la « page » suivante de résultats, comme décrit ICI. La valeur utilisée avec ce paramètre est extraite directement de la réponse fournie par l’API et ne doit pas être modifiée. | Non | NTcxODIyMDMyODMwMjU1MTA0 |
Détails supplémentaires
Période disponible | 30-Day : 31 derniers jours Full-Archive : 21 mars 2006 - aujourd’hui |
Format de query | Équivalent d’une règle PowerTrack, jusqu’à 2 048 caractères (sans limite quant au nombre de clauses positives et négatives). Remarque : Tous les opérateurs PowerTrack ne sont pas pris en charge. Consultez la page Available operators pour la liste des opérateurs pris en charge. |
Limite de taux | Des limites de taux s’appliquent à la minute et à la seconde. La limite par minute varie selon le partenaire, comme indiqué dans votre contrat. Toutefois, ces limites par minute ne sont pas destinées à être consommées en une seule rafale. Quelle que soit votre limite par minute, tous les partenaires sont limités à un maximum de 20 requêtes par seconde, agrégées sur l’ensemble des requêtes de data et/ou de décomptes. |
Conformité | Toutes les data fournies via la Full-Archive Search API sont conformes au moment de la livraison. |
Disponibilité en temps réel | Les données sont disponibles dans l’index dans les 30 secondes suivant leur génération sur la plateforme X. |
Exemples de requêtes et de réponses de données
Exemple de requête POST
- Les paramètres d’une requête POST sont envoyés dans un corps au format JSON, comme illustré ci-dessous.
- Toutes les parties de la règle PowerTrack faisant l’objet de la requête (p. ex. des mots-clés, d’autres opérateurs comme bounding_box:) doivent être placées dans le paramètre ‘query’.
- Ne scindez pas la règle en paramètres distincts dans l’URL de la requête.
Exemple de requête GET
- Les paramètres d’une requête GET sont encodés dans l’URL à l’aide de l’encodage URL standard.
- Toutes les parties de la règle PowerTrack faisant l’objet de la requête (p. ex. des mots-clés, d’autres opérateurs comme bounding_box:) doivent être placées dans le paramètre ‘query’.
- Ne scindez pas des parties de la règle en paramètres distincts dans l’URL de requête.
Exemples de réponses data
endpoint de comptage
/search/:stream/counts
Modèle d’endpoint :
/search/fullarchive/accounts/:account_name/:label/counts.json
Cet endpoint renvoie des décomptes (volumes de données) pour la query spécifiée. Si aucune période n’est indiquée, les paramètres temporels prennent par défaut les 30 derniers jours. Les volumes de données sont renvoyés sous la forme d’un tableau horodaté, soit quotidien, horaire (par défaut) ou à la minute.
Remarque : Cette fonctionnalité peut également être obtenue à l’aide d’une requête GET, plutôt qu’un POST, en encodant les paramètres décrits ci-dessous dans l’URL.
Paramètres de requête pour les décomptes
Paramètres | Description | Obligatoire | Valeur d’exemple |
---|---|---|---|
query | L’équivalent d’une règle PowerTrack, jusqu’à 2 048 caractères (sans limite quant au nombre de clauses positives et négatives). Ce paramètre doit inclure TOUTES les parties de la règle PowerTrack, y compris tous les opérateurs ; aucune partie de la règle ne doit être séparée dans d’autres paramètres de la query. Remarque : Tous les opérateurs PowerTrack ne sont pas pris en charge. Consultez Available operators pour la liste des opérateurs pris en charge. | Oui | (snow OR cold OR blizzard) weather |
fromDate | L’horodatage UTC le plus ancien (jusqu’au 21/03/2006) à partir duquel les Tweets seront fournis. L’horodatage est à la granularité de la minute et est inclusif (p. ex. 12:00 inclut la minute 00). Spécifié : En utilisant uniquement fromDate sans paramètre toDate, l’API renverra les décomptes (volumes de data) pour la query en remontant dans le temps, de maintenant jusqu’à fromDate. Si fromDate est antérieur de plus de 31 jours par rapport à maintenant, vous recevrez un jeton next pour parcourir votre requête par pages. Non spécifié : Si aucun fromDate n’est spécifié, l’API renverra les décomptes (volumes de data) pour les 30 jours précédant maintenant ou le toDate (s’il est spécifié). Si ni fromDate ni toDate n’est utilisé, l’API renverra les décomptes (volumes de data) pour les 30 jours les plus récents, à partir du moment de la requête, en remontant dans le temps. | Non | 201207220000 |
toDate | L’horodatage UTC le plus récent jusqu’auquel les Tweets seront fournis. L’horodatage est à la granularité de la minute et n’est pas inclusif (p. ex. 11:59 n’inclut pas la 59e minute de l’heure). Spécifié : Utiliser uniquement toDate sans paramètre fromDate renverra les décomptes (volumes de data) les plus récents pour les 30 jours précédant toDate. Non spécifié : Si aucun toDate n’est spécifié, l’API renverra les décomptes (volumes de data) pour la query en remontant dans le temps jusqu’à fromDate. Si fromDate est à plus de 31 jours de maintenant, vous recevrez un jeton next pour parcourir votre requête par pages. Si ni fromDate ni toDate n’est utilisé, l’API renverra les décomptes (volumes de data) pour les 30 jours les plus récents, à partir du moment de la requête, en remontant dans le temps. | Non | 201208220000 |
bucket | L’unité de temps pour laquelle les décomptes seront fournis. Les décomptes peuvent être renvoyés pour chaque jour, heure ou minute dans la période demandée. Par défaut, des décomptes horaires sont fournis. Options : ‘day’, ‘hour’, ‘minute’ | Non | minute |
next | Ce paramètre est utilisé pour obtenir la « page » suivante de résultats, comme décrit ICI. La valeur utilisée avec ce paramètre est extraite directement de la réponse de l’API et ne doit pas être modifiée. | Non | NTcxODIyMDMyODMwMjU1MTA0 |
Détails supplémentaires
Période disponible | 30 jours : 31 derniers jours Archive complète : 21 mars 2006 - aujourd’hui |
Format de query | Équivalent à une règle PowerTrack, jusqu’à 2 048 caractères. Remarque : Tous les opérateurs PowerTrack ne sont pas pris en charge. Consultez Available operators pour la liste des opérateurs pris en charge. |
Limite de taux | Les partenaires seront soumis à des limites de taux à la minute et à la seconde. La limite de taux par minute varie selon le partenaire, comme spécifié dans votre contrat. Toutefois, ces limites par minute ne sont pas destinées à être consommées d’un seul coup. Quelle que soit votre limite de taux par minute, tous les partenaires seront plafonnés à un maximum de 20 requêtes par seconde, agrégées sur l’ensemble des requêtes de data et/ou de décomptes. |
Précision des décomptes | Les décomptes fournis via cet endpoint reflètent le nombre de Tweets survenus et ne tiennent pas compte des événements de conformité ultérieurs (suppressions, scrub geos). Certains Tweets comptés peuvent ne pas être disponibles via l’endpoint data en raison d’actions de conformité des utilisateurs. |
Exemples de requêtes et de réponses de comptage
Exemple de requête POST
- Les paramètres d’une requête POST sont envoyés dans un corps au format JSON, comme illustré ci-dessous.
- Toutes les parties de la règle PowerTrack recherchée (par ex. des mots-clés, d’autres opérateurs comme bounding_box:) doivent être placées dans le paramètre ‘query’.
- Ne séparez pas des parties de la règle en paramètres distincts dans l’URL de la requête.
Exemple de requête GET
- Les paramètres d’une requête GET sont encodés dans l’URL à l’aide de l’encodage URL standard
- Toutes les parties de la règle PowerTrack faisant l’objet de la requête (par exemple des mots-clés, ou d’autres opérateurs comme bounding_box:) doivent être placées dans le paramètre « query »
- Ne segmentez pas des parties de la règle en paramètres distincts dans l’URL de la requête
Exemples de réponses de comptage
Codes de réponse HTTP
Statut | Texte | Description |
---|---|---|
200 | OK | La requête a abouti. La réponse JSON sera similaire à ce qui suit : |
400 | Bad Request | En général, cette réponse survient en raison de JSON invalide dans la requête ou parce qu’aucun corps JSON n’a été envoyé. |
401 | Unauthorized | L’authentification HTTP a échoué en raison d’identifiants invalides. Connectez-vous à console.gnip.com avec vos identifiants pour vérifier que vous les utilisez correctement avec votre requête. |
404 | Not Found | La ressource est introuvable à l’URL cible de la requête, probablement parce qu’une URL incorrecte a été utilisée. |
422 | Unprocessable Entity | Renvoyé en raison de paramètres invalides dans le paramètre query — p. ex. des règles PowerTrack invalides. |
429 | Unknown Code | Votre App a dépassé la limite des demandes de connexion. Le message JSON correspondant sera similaire à ce qui suit : |
500 | Internal Server Error | Une erreur est survenue côté serveur. Réessayez votre requête en appliquant un backoff exponentiel. |
502 | Proxy Error | Une erreur est survenue côté serveur. Réessayez votre requête en appliquant un backoff exponentiel. |
503 | Service Unavailable | Une erreur est survenue côté serveur. Réessayez votre requête en appliquant un backoff exponentiel. |
Enterprise