Passer au contenu principal

Introduction

Un kit de développement logiciel (SDK) est un ensemble d’outils et de programmes conçus pour une plateforme ou une API spécifique. Un SDK a pour but de créer ou d’étendre les fonctionnalités des applications en fournissant des bibliothèques ou des bases de code que les développeurs peuvent intégrer dans leurs applications, de manière efficace et avec un minimum de code. Cela accélère considérablement le développement, tout en économisant du temps, de l’argent et des efforts.
La X Developer Platform propose désormais deux SDK officiels pour le développement en TypeScript/JavaScript et en Java. Ils permettent aux développeurs de gagner en efficacité en évitant d’implémenter manuellement les aspects complexes de la X API v2, grâce à des fonctions prêtes à l’emploi couvrant tous les endpoints v2 disponibles, et en simplifiant l’authentification. Comme ils sont conçus et maintenus par l’équipe Developer Platform, ils resteront toujours à jour avec les futures versions de la X API v2.
Étant donné que ces SDK encapsulent la X API, vous devez disposer d’un compte développeur pour authentifier les requêtes à l’aide des identifiants d’une App développeur, située au sein d’un Project.

Installation

  • Java
  • TypeScript
Il existe plusieurs façons d’installer le package Java (nécessite Java 1.8+)
  • Utilisateurs Maven : ajoutez cette dépendance au fichier POM de votre Project :
<dependency>
  <groupId>com.twitter</groupId>
  <artifactId>twitter-api-java-sdk</artifactId>
  <version>1.1.4</version>
</dependency>
  • Utilisateurs Gradle : ajoutez cette dépendance au fichier de build de votre Project : implementation "com.twitter:twitter-api-java-sdk:1.1.4"
  • Autres : générez d’abord le JAR en exécutant la commande suivante : mvn clean package Puis installez manuellement les JAR suivants :
target/twitter-api-java-sdk-1.1.4.jartarget/lib/*.jar

Notions de base du client

Importez les classes (Java) et le package (TypeScript) en haut d’un fichier de travail pour accéder à l’authentification et aux clients de la bibliothèque. Pour utiliser les méthodes du client de bibliothèque, vous devez fournir des identifiants d’authentification : soit un Jeton Bearer (App uniquement), soit un client id/client secret si vous vous authentifiez avec le contexte utilisateur OAuth 2.0. Voici des exemples de ce à quoi cela ressemble :
  • Java
  • TypeScript
// Import classes:
import com.twitter.clientlib.ApiClient;
import com.twitter.clientlib.ApiException;
import com.twitter.clientlib.Configuration;
import com.twitter.clientlib.auth.*;
import com.twitter.clientlib.model.*;
import com.twitter.clientlib.TwitterCredentialsBearer;
import com.twitter.clientlib.api.TwitterApi;

// Instantiate library client
TwitterApi apiInstance = new TwitterApi();

// Instantiate auth credentials (App-only example)
TwitterCredentialsBearer credentials = new TwitterCredentialsBearer(System.getenv("APP-ONLY-ACCESS-TOKEN"));

// Pass credentials to library client
apiInstance.setTwitterCredentials(credentials);

Flux d’authentification

Si vous utilisez l’option application only pour authentifier les SDK, vous n’aurez qu’à fournir le jeton et le client de bibliothèque sera immédiatement prêt à utiliser les méthodes d’endpoint. Gardez à l’esprit que les jetons application only ne peuvent pas être utilisés sur les endpoints qui nécessitent une authentification avec contexte utilisateur. L’authentification en contexte utilisateur OAuth 2.0 nécessite quelques étapes supplémentaires après la création du client d’authentification.
  • Générer l’URL d’autorisation
  • Autoriser l’App depuis l’URL d’autorisation
  • Rediriger vers le callback (cela doit correspondre à l’URL de callback définie sur la page des paramètres d’authentification dans le developer portal).
  • Analyser le code verifier pour l’échanger contre un access token
Les SDK proposent des méthodes sur le client d’authentification qui simplifient ces étapes. Pour un exemple complet de la manière d’effectuer une requête authentifiée avec OAuth 2.0 en contexte utilisateur, consultez les dépôts GitHub.

Méthodes d’endpoint

Les méthodes fournies par le client de la bibliothèque sont clairement nommées pour correspondre à chaque endpoint, et tous les paramètres sont passés en arguments. Voici un exemple de recherche de Post par id :
  • Java
  • TypeScript
String id = "1511757922354663425"; // String | Un id de Tweet unique.
Set<String> expansions = new HashSet<>(Arrays.asList("author_id")); // Set<String> | Une liste de champs à étendre, séparés par des virgules.
Set<String> tweetFields = new HashSet<>(Arrays.asList("created_at", "lang", "context_annotations")); // Set<String> | Une liste de champs de Tweet à afficher, séparés par des virgules.
Set<String> userFields = new HashSet<>(Arrays.asList("created_at", "description", "name")); // Set<String> | Une liste de champs Utilisateur à afficher, séparés par des virgules.

try {
 SingleTweetLookupResponse result = apiInstance.tweets().findTweetById(id, expansions, tweetFields, userFields, null, null, null);
 System.out.println(result);
} catch (ApiException e) {
 System.err.println("Exception lors de l’appel de TweetsApi#findTweetById");
 System.err.println("Code d’état : " + e.getCode());
 System.err.println("Raison : " + e.getResponseBody());
 System.err.println("En-têtes de réponse : " + e.getResponseHeaders());
 e.printStackTrace();
}

I