FastComments.com

FastComments Java SDK

Ceci est le SDK Java officiel pour FastComments.

SDK Java officiel pour l'API FastComments

Dépôt

Voir sur GitHub


Installation Internal Link

Maven

Ajoutez le dépôt Repsy au POM de votre projet:

<repositories>
    <repository>
        <id>repsy</id>
        <name>FastComments Maven Repository on Repsy</name>
        <url>https://repo.repsy.io/mvn/winrid/fastcomments</url>
    </repository>
</repositories>

Puis ajoutez les dépendances dont vous avez besoin:

<dependencies>
    <!-- Client de l'API -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>client</artifactId>
        <version>1.3.1</version>
    </dependency>

    <!-- Bibliothèque Core (inclut SSO) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>core</artifactId>
        <version>1.3.1</version>
    </dependency>

    <!-- Bibliothèque PubSub (pour les événements en direct) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>pubsub</artifactId>
        <version>1.3.1</version>
    </dependency>
</dependencies>

Gradle

Ajoutez le dépôt Repsy à votre fichier build.gradle:

repositories {
    mavenCentral()
    maven {
        url "https://repo.repsy.io/mvn/winrid/fastcomments"
    }
}

dependencies {
    // Client de l'API
    implementation "com.fastcomments:client:1.3.1"

    // Bibliothèque Core (inclut SSO)
    implementation "com.fastcomments:core:1.3.1"

    // Bibliothèque PubSub (pour les événements en direct)
    implementation "com.fastcomments:pubsub:1.3.1"
}

Library Contents

This library contains three modules. The generated API client, the core Java library which contains hand-written utilities to make working with the API easier, and the pubsub module which is a library for subscribing to change feeds.

Public vs Secured APIs

Pour le client API, il existe deux classes, DefaultApi et PublicApi. La DefaultApi contient des méthodes nécessitant votre clé API, et PublicApi contient des appels d'API qui peuvent être effectués directement depuis un navigateur/mobile/appareil/etc sans authentification.

Démarrage rapide Internal Link

Utiliser les API authentifiées (DefaultApi)

Important : Vous devez définir votre clé API sur ApiClient avant d'effectuer des requêtes authentifiées. Si vous ne le faites pas, les requêtes échoueront avec une erreur 401.

import com.fastcomments.invoker.ApiClient;
import com.fastcomments.invoker.ApiException;
import com.fastcomments.api.DefaultApi;
import com.fastcomments.model.*;

public class Example {
    public static void main(String[] args) {
        // Créez et configurez le client API
        ApiClient apiClient = new ApiClient();

        // OBLIGATOIRE : Définissez votre clé API (récupérez-la depuis votre tableau de bord FastComments)
        apiClient.setApiKey("YOUR_API_KEY_HERE");

        // Créez l'instance API avec le client configuré
        DefaultApi api = new DefaultApi(apiClient);

        // Vous pouvez maintenant effectuer des appels API authentifiés
        try {
            // Exemple : ajouter un utilisateur SSO
            CreateAPISSOUserData userData = new CreateAPISSOUserData();
            userData.setId("user-123");
            userData.setEmail("user@example.com");
            userData.setDisplayName("John Doe");

            AddSSOUserAPIResponse response = api.addSSOUser("YOUR_TENANT_ID", userData)
                .execute();
            System.out.println("User created: " + response);

        } catch (ApiException e) {
            System.err.println("Error: " + e.getResponseBody());
            // Erreurs courantes :
            // - 401 : la clé API est manquante ou invalide
            // - 400 : la validation de la requête a échoué
        }
    }
}

Utiliser les API publiques (PublicApi)

Les endpoints publics ne nécessitent pas d'authentification :

import com.fastcomments.api.PublicApi;
import com.fastcomments.invoker.ApiException;

PublicApi publicApi = new PublicApi();

try {
    var response = publicApi.getCommentsPublic("YOUR_TENANT_ID", "page-url-id")
        .execute();
    System.out.println(response);
} catch (ApiException e) {
    e.printStackTrace();
}

Problèmes courants

  1. 401 "missing-api-key" error : Assurez-vous d'appeler apiClient.setApiKey("YOUR_KEY") avant de créer l'instance DefaultApi.
  2. Wrong API class : Utilisez DefaultApi pour les requêtes authentifiées côté serveur, PublicApi pour les requêtes côté client/public.
  3. Null API key : Le SDK ignorera silencieusement l'authentification si la clé API est nulle, ce qui entraînera des erreurs 401.

Notes Internal Link

Identifiants de diffusion

Vous verrez qu'il faut passer un broadcastId dans certains appels d'API. Lorsque vous recevez des événements, vous récupérerez cet ID, ce qui vous permettra d'ignorer l'événement si vous prévoyez d'appliquer de manière optimiste des modifications côté client (ce que vous voudrez probablement faire car cela offre la meilleure expérience). Passez un UUID ici. L'ID doit être suffisamment unique pour ne pas se produire deux fois dans une session de navigateur.

Besoin d'aide ?

Si vous rencontrez des problèmes ou avez des questions concernant le SDK Java, veuillez :

Contribuer

Les contributions sont les bienvenues ! Veuillez visiter le dépôt GitHub pour connaître les consignes de contribution.