Passer au contenu principal

Bien démarrer avec l’endpoint de recherche des Quote Tweets

Ce guide de démarrage rapide vous aidera à effectuer votre première requête vers les endpoints de recherche des Quote Tweets avec un ensemble de fields spécifiés à l’aide de Postman. Si vous souhaitez voir des exemples de code dans différentes langues, veuillez consulter notre dépôt GitHub X API v2 sample code

Prérequis

Pour suivre ce guide, vous devez disposer d’un ensemble de clés et jetons pour authentifier votre requête. Vous pouvez générer ces clés et jetons en procédant comme suit :
  • Inscrivez-vous pour obtenir un compte développeur et attendez l’approbation.
  • Créez un Project et une developer App associée dans le developer portal.
  • Accédez à la page “Keys and tokens” de votre App pour générer les identifiants requis. Assurez-vous d’enregistrer toutes les informations d’identification dans un emplacement sécurisé.
Étapes pour créer une requête de recherche de Quote Tweets Première étape : commencer avec un outil ou une bibliothèque Il existe plusieurs outils, exemples de code et bibliothèques que vous pouvez utiliser pour effectuer une requête vers cet endpoint, mais nous allons utiliser l’outil Postman ici pour simplifier le processus. Pour charger la collection Postman X API v2 dans votre environnement, veuillez cliquer sur le bouton suivant : Une fois la collection X API v2 chargée dans Postman, accédez au dossier timeline et trouvez la requête “Quote Tweets by ID”. Deuxième étape : authentifier votre requête Pour effectuer correctement une requête vers la X API, vous devez vérifier que vous disposez des autorisations nécessaires. Pour ce faire avec cet endpoint, vous devez authentifier votre requête avec l’une des méthodes d’authentification OAuth 2.0 App-Only, OAuth 2.0 Authorization Code with PKCE, ou OAuth 1.0a User Context. Pour simplifier, nous utiliserons OAuth 2.0 App-Only avec cette requête, mais vous devrez utiliser l’une des autres méthodes d’authentification si vous souhaitez demander des métriques ou des Posts privés. Vous devez ajouter vos clés et jetons, en particulier l’App Access Token (également appelé App-only Bearer Token) à Postman. Pour ce faire, sélectionnez l’environnement nommé “X API v2” dans le coin supérieur droit de Postman et ajoutez vos clés et jetons dans les champs “initial value” et “current value” (en cliquant sur l’icône en forme d’œil à côté du menu déroulant de l’environnement). Cette variable sera automatiquement reprise dans l’onglet d’autorisation de la requête si vous avez effectué cette opération correctement. Troisième étape : identifier et spécifier le Post pour lequel vous souhaitez récupérer les Quote Tweets Vous devez spécifier, dans la requête, le Post pour lequel vous souhaitez récupérer des Quote Tweets en passant l’ID de Post. Dans cet exemple, l’ID de Post que nous utiliserons est 1409931481552543749. Dans Postman, accédez à l’onglet “Params” et saisissez cet ID de Post dans la colonne “Value” du paramètre id.
KeyValue
id1409931481552543749
Quatrième étape : identifier et spécifier les fields que vous souhaitez récupérer Si vous cliquez sur le bouton “Send” après la troisième étape, vous recevrez les fields par défaut de l’Objet Post dans votre réponse : id, text et edit_history_tweet_ids. Si vous souhaitez recevoir des fields supplémentaires, vous devrez spécifier ces fields dans votre requête avec les paramètres fields et/ou expansions. Pour cet exercice, nous demanderons trois ensembles supplémentaires de fields provenant d’objets différents :
  1. Le field supplémentaire tweet.created_at dans les objets utilisateur principaux.
  2. Les fields par défaut de l’objet utilisateur des auteurs associés pour les Posts renvoyés : id, name et username
  3. Le field supplémentaire user.created_at dans les objets utilisateur associés.  
Dans Postman, accédez à l’onglet “Params” et ajoutez la paire clé:valeur suivante au tableau “Query Params” :
CléValeurChamps renvoyés
tweet.fieldscreated_attweets.created_at
expansionsauthor_idincludes.users.id, includes.users.name, includes.users.username
user.fieldscreated_atincludes.users.created_at
Vous devriez maintenant voir l’URL suivante à côté du bouton « Send » : https://api.x.com/2/tweets/:id/quote_tweets?expansions=author_id&tweet.fields=created_at&user.fields=created_at Veuillez noter : Dans Postman, le paramètre de chemin :id dans le champ URL ne se met pas automatiquement à jour avec la valeur que vous saisissez dans le champ de paramètre id, c’est pourquoi l’URL ci-dessus inclut :id et non 1409931481552543749. Étape cinq : Envoyez votre requête et examinez la réponse Une fois tout configuré, cliquez sur le bouton « Send » : vous recevrez la réponse suivante :
{
 "data": [
   {
     "created_at": "2022-02-22T04:31:34.000Z",
     "text": "RT @chris_bail: X a créé un cours complet (avec vidéos, code et autres ressources) pour aider les chercheurs à apprendre comment collecter des données…",
     "author_id": "29757971",
     "id": "1495979553889697792"
   },
   {
     "created_at": "2022-01-26T17:07:43.000Z",
     "text": "RT @suhemparack: Très heureux de partager notre cours sur Débuter avec l'API X v2 pour la recherche académique\n\nSi vous connaissez des étudiants…",
     "author_id": "241588187",
     "id": "1486385372401737728"
   },
   {
     "created_at": "2022-01-11T17:28:04.000Z",
     "text": "RT @suhemparack: Très heureux de partager notre cours sur Débuter avec l'API X v2 pour la recherche académique\n\nSi vous connaissez des étudiants…",
     "author_id": "24961055",
     "id": "1480954678447857669"
   },
   {
     "created_at": "2022-01-10T20:34:46.000Z",
     "text": "RT @suhemparack: Très heureux de partager notre cours sur Débuter avec l'API X v2 pour la recherche académique\n\nSi vous connaissez des étudiants…",
     "author_id": "1441574419789324291",
     "id": "1480639272721940486"
   },
   {
     "created_at": "2021-12-16T22:55:24.000Z",
     "text": "RT @chris_bail: X a créé un cours complet (avec vidéos, code et autres ressources) pour aider les chercheurs à apprendre comment collecter des données…",
     "author_id": "1623598771",
     "id": "1471614967207976961"
   },
   {
     "created_at": "2021-12-13T15:59:55.000Z",
     "text": "RT @suhemparack: Très heureux de partager notre cours sur Débuter avec l'API X v2 pour la recherche académique\n\nSi vous connaissez des étudiants…",
     "author_id": "1506401233",
     "id": "1470423243513372679"
   },
   {
     "created_at": "2021-12-10T02:02:45.000Z",
     "text": "RT @suhemparack: Très heureux de partager notre cours sur Débuter avec l'API X v2 pour la recherche académique\n\nSi vous connaissez des étudiants…",
     "author_id": "40103034",
     "id": "1469125403373568001"
   },
   {
     "created_at": "2021-12-08T17:27:54.000Z",
     "text": "RT @suhemparack: Très heureux de partager notre cours sur Débuter avec l'API X v2 pour la recherche académique\n\nSi vous connaissez des étudiants…",
     "author_id": "1436400156006567936",
     "id": "1468633446935318529"
   },
   {
     "created_at": "2021-09-15T21:40:24.000Z",
     "text": "RT @suhemparack: Très heureux de partager notre cours sur Débuter avec l'API X v2 pour la recherche académique\n\nSi vous connaissez des étudiants…",
     "author_id": "81650379",
     "id": "1438256410417143809"
   },
   {
     "created_at": "2021-08-26T16:45:16.000Z",
     "text": "RT @suhemparack: Très heureux de partager notre cours sur Débuter avec l'API X v2 pour la recherche académique\n\nSi vous connaissez des étudiants…",
     "author_id": "40462535",
     "id": "1430934381829492746"
   }
 ],
 "includes": {
   "users": [
     {
       "username": "j_a_tucker",
       "id": "29757971",
       "name": "Joshua Tucker",
       "created_at": "2009-04-08T16:45:38.000Z"
     },
     {
       "username": "whimchic",
       "id": "241588187",
       "name": "whimchic",
       "created_at": "2011-01-22T16:51:43.000Z"
     },
     {
       "username": "mattbiehl",
       "id": "24961055",
       "name": "Matthias Biehl",
       "created_at": "2009-03-17T21:41:27.000Z"
     },
     {
       "username": "weixinac",
       "id": "1441574419789324291",
       "name": "J",
       "created_at": "2021-09-25T01:25:19.000Z"
     },
     {
       "username": "RSangeleer",
       "id": "1623598771",
       "name": "Richard Sangeleer",
       "created_at": "2013-07-26T18:25:45.000Z"
     },
     {
       "username": "Gulnerman",
       "id": "1506401233",
       "name": "Giz Gulnerman",
       "created_at": "2013-06-11T20:13:40.000Z"
     },
     {
       "username": "efishman123",
       "id": "40103034",
       "name": "Elishema Fishman",
       "created_at": "2009-05-14T22:25:58.000Z"
     },
     {
       "username": "dtcxwz",
       "id": "1436400156006567936",
       "name": "Hüseyin Ateş",
       "created_at": "2021-09-10T18:44:30.000Z"
     },
     {
       "username": "brendaberkelaar",
       "id": "81650379",
       "name": "Dr. Brenda Berkelaar",
       "created_at": "2009-10-11T18:09:16.000Z"
     },
     {
       "username": "misoca",
       "id": "40462535",
       "name": "Michael Soto",
       "created_at": "2009-05-16T13:26:05.000Z"
     }
   ]
 },
 "meta": {
   "result_count": 10,
   "next_token": "avdjwk0udyx6"
 }
}

Sixième étape : Paginer vos résultats

Dans la réponse précédente, vous trouverez en bas un objet meta qui inclut les champs suivants :
  • results_count
  • next_token
À l’étape quatre, comme nous n’avons pas spécifié le paramètre max_results, nous n’obtiendrons que 10 Posts par défaut. Pour accéder aux pages supplémentaires de données, prenez la valeur du champ next_token de vos derniers résultats et ajoutez cette chaîne comme valeur du paramètre pagination_token sur la page des paramètres de Postman, en laissant tout le reste inchangé. 
CléValeur
pagination_tokenavdjwk0udyx6
Une fois tout configuré, vous pouvez cliquer à nouveau sur « Send » et vous devriez recevoir la page de résultats suivante.  Nous avons rédigé un guide sur la pagination pour expliquer plus en détail ce concept.
I