tweet api image, twitter api image, faire tweet avec image twitter api, twitter api image node, twitter api image express, twitter api v2 image, comment twitter api image node earnanswers.com En-tĂȘte de blog de style fresque mĂȘlant Ă©lĂ©ments anciens et modernes, prĂ©sentant un globe avec des connexions rĂ©seau.

Twitter API et Node.js : Tweet avec image

PubliĂ©: ÉditĂ©: RĂ©seau social fr
Table des MatiĂšres
  1. Installation de librairie NPM
  2. Comment générer ses clés, jetons et secrets
  3. Tweeter une image Ă  partir de Node.js Express.js
    • Code Express.js pour s'authentifier
    • Imports au niveau du point de terminaison
  4. Concepts Twitter API pour ajouter une image Ă  vos tweets sous Node.js
  5. Code Express.js pour télécharger une image
  6. Code Express.js pour faire un tweet accompagné d'une image
  7. Conclusion

Installation de librairie NPM

On doit d'abord installer le module nécessaire pour pouvoir tweeter à partir de notre instance Node.js.

Pour ce faire, on ouvre un processus terminal et on installe une librairie nommée : twitter-api-v2.

La version la plus rĂ©cente de ce module au moment oĂč cet article a Ă©tĂ© publiĂ© (01/02/2024) est la version 1.16.0.

npm install --save twitter-api-v2

Comment générer ses clés, jetons et secrets

Avant de procéder, il vous faut vos clés, jetons et secrets. Pour apprendre comment en générer, veuillez vous référer à cet article : Comment générer ses clés, jetons et secrets

Une fois générées, configurez vos variables d'environnement local et distant avec leurs clés, jetons et secrets.

La procédure pour configurer des variables d'environnement est assez simple et sort de la portée de cet article.

Tweeter une image Ă  partir de Node.js Express.js

Code Express.js pour s'authentifier

const { TwitterApi } = require("twitter-api-v2");

Cette ligne importe la classe TwitterApi Ă  partir du module twitter-api-v2, qui est une bibliothĂšque client Node.js permettant d'interagir avec l'API v2 de Twitter.

La bibliothÚque fournit un ensemble de méthodes pour accéder facilement aux fonctionnalités de l'API de Twitter, telles que la publication de tweets, le téléchargement de médias, etc.

const client = new TwitterApi({
  appKey: process.env.nom_de_variable1,
  appSecret: process.env.nom_de_variable2,
  accessToken: process.env.nom_de_variable3,
  accessSecret: process.env.nom_de_variable4,
});



Cette section initialise une nouvelle instance TwitterApi puis est assignée à « client ».

La classe a besoin d'informations d'authentification pour son constructeur.

Ces informations d'identification sont essentielles pour s'authentifier et réaliser des actions au nom d'un compte Twitter.

Les informations d'identification comprennent :

  • appKey (clĂ© API) et appSecret (clĂ© secrĂšte API) : obtenus Ă  partir du tableau de bord de votre application Twitter dĂ©veloppeur, ils sont utilisĂ©s pour authentifier l'application Ă  partir duquel on fait les requĂȘtes.
  • accessToken et accessSecret : liĂ©es au compte utilisateur. Elles permettent Ă  l'application d'effectuer des requĂȘtes API au nom de cet utilisateur.

Ces informations d'identification sont extraites de maniÚre sécurisée à partir de variables d'environnement, ce qui constitue une bonne pratique pour gérer des informations sensibles.

Pour apprendre comment générer vos clés d'API, veuillez lire cet article: Twitter API : comment générer ses clés, jetons et secrets

const twitterClient = client.readWrite;



Ceci est un client configuré à partir de l'instances initialisées.

« twitterClient » est issue du « client » et est configuré pour les opérations de lecture et d'écriture, ce qui signifie qu'il peut effectuer des actions telles que tweeter, retweeter ou télécharger des médias.

Pour apprendre comment configurer votre app en mode lecture et Ă©criture, veuillez lire cet article: Twitter API : comment connecter un compte Ă  une App

Imports au niveau du point de terminaison

Au niveau du code qui va se charger de tweeter, il faut qu'on fasse les imports nécessaires.

require('dotenv').config();
const { twitterClient } = require("../../../../../miscellaneous/twitter_login/twitter_earnanswers")



Évidemment, on commence par configurer nos variables d'environnement. Cela a pour effet de les rendre accessibles au fichier.

Ensuite, on importe l'instance client « twitterClient ». À travers ce dernier, on pourra invoquer la mĂ©thode pour tweeter.

Concepts Twitter API pour ajouter une image Ă  vos tweets sous Node.js

Le fichier image spécifié par le chemin local dans votre code est utilisé pour localiser le fichier.

À travers l'API Twitter, la mĂ©thode « .v1.uploadMedia », le fichier est tĂ©lĂ©chargĂ© sur les serveurs de Twitter.

Au cours de ce processus de téléchargement, l'image est transférée de votre systÚme de fichiers local ou serveur vers l'infrastructure de stockage cloud de Twitter.

Une fois le téléchargement réussi, Twitter stocke l'image dans son stockage cloud. Ce stockage est géré par Twitter et est conçu pour servir efficacement le contenu multimédia sur sa plateforme.

Une fois l'image stockée, Twitter attribue un identifiant unique à l'image, appelé « mediaId ». Cet identifiant est un moyen pour Twitter de référencer et d'identifier l'image stockée sans avoir besoin de la télécharger à nouveau à chaque utilisation.

Lorsque vous ĂȘtes prĂȘt Ă  tweeter l'image, vous invoquez la mĂ©thode « .v2.tweet » et rĂ©fĂ©rencez l'image par son numĂ©ro d'identification « mediaId ».

En fournissant le « mediaId » dans la demande de création de tweet, vous demandez à Twitter d'inclure l'image précédemment téléchargée avec le tweet.

Lorsque le tweet se fait poster, Twitter récupÚre automatiquement l'image à l'aide du « mediaId » fourni depuis son stockage cloud et la joint à votre tweet.

Le tweet, désormais accompagné du texte et de l'image ci-jointe, est publié sur Twitter.

Code Express.js pour télécharger une image

On crée une fonction d'assistance qui se charge de télécharger l'image sur les serveurs de Twitter.

async function uploadMedia(filePath) {
  try {
    const mediaType = 'image/jpeg'; // Set media type as JPEG
    const mediaId = await twitterClient.v1.uploadMedia(filePath, { mimeType: mediaType });
    return mediaId;
  } catch (error) {
    console.error('Failed to upload media:', error);
    throw error;
  }
}

Le code est simple. La fonction récupÚre le chemin du fichier qu'on souhaite télécharger.

On spécifie le type du fichier. Ici, il s'agit d'un jpeg.

Cette ligne effectue le téléchargement. On utilise l'instance initialisée, notamment sa version API v1, pour appeler la méthode uploadMedia.

La fonction retourne l'ID de référence du fichier jadis téléchargé sur les serveurs de Twitter.

Code Express.js pour faire un tweet accompagné d'une image

Ci-bas, vous voyez le code du point de terminaison sous forme d'intergiciel.

async function mid1(req, res, next) {
  if (res.locals.default_problem_response.status !== 200) {
    return next();
  }
  
  const imagePath = './public/img/jpeg/image3.jpeg';

  try {
    const mediaId = await uploadMedia(imagePath);
    await twitterClient.v2.tweet({
      text: `Hello world! Log ID ${res.locals.logId}`,
      media: {
        media_ids: [mediaId]
      }
    });

    console.log('Tweeted with an image successfully.');
  } catch (error) {
    console.log(error);

    res.locals.default_problem_response = {
      status: error.statusCode,
      message: error.message
    };
  }
  return next();
}

L'intergiciel invoque « uploadMedia ». L'image se retrouve sur Twitter et pourra ĂȘtre tweetĂ©e.

La méthode (« .tweet ») de la version deux de l'instance client « twitterClient.v2 » permet d'opérer l'action de tweeter.

Remarquez qu'au moment de l'invocation, on lui met un objet avec média comme propriété, avec l'ID de référence de l'image.

Grùce à ce référencement, l'API accompagne notre texte Tweet avec l'image.

Conclusion

Veuillez vous référer a notre blog central qui présente la fiche de route pour construire un bot Twitter. Liens pour créer un bot Twitter personnalisé IA

Prochainement, on va introduire l'API d'OpenAI pour générer le contenu des tweets. Démarrer avec l'API d'OpenAI

Mahdi Furry

Lectures supplémentaires