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>

Then add the dependencies you need:

<dependencies>
    <!-- Client API -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>client</artifactId>
        <version>1.3.2</version>
    </dependency>

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

    <!-- Bibliothèque PubSub (pour les événements en direct) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>pubsub</artifactId>
        <version>1.3.2</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 API
    implementation "com.fastcomments:client:1.3.2"

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

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

Contenu de la bibliothèque

Cette bibliothèque contient trois modules. Le client API généré, la bibliothèque Java Core qui contient des utilitaires écrits à la main pour faciliter le travail avec l'API, et le module pubsub qui est une bibliothèque pour s'abonner aux flux de changements.

APIs publiques vs sécurisées

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

Démarrage rapide Internal Link

Utilisation des API authentifiées (DefaultApi)

Important : Vous devez définir votre clé API sur ApiClient avant d'effectuer des requêtes authentifiées. Sinon, 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éer et configurer le client API
        ApiClient apiClient = new ApiClient();

        // REQUIS : Définissez votre clé API (obtenez-la depuis le 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("[email protected]");
            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é
        }
    }
}

Utilisation des API publiques (PublicApi)

Les points de terminaison 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. Erreur 401 "missing-api-key" : Assurez-vous d'appeler apiClient.setApiKey("YOUR_KEY") avant de créer l'instance DefaultApi.
  2. Mauvaise classe API : Utilisez DefaultApi pour les requêtes authentifiées côté serveur, PublicApi pour les requêtes côté client/public.
  3. Clé API nulle : 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 que vous devrez fournir un broadcastId dans certaines requêtes d'API. Lorsque vous recevez des événements, vous recevrez cet ID en retour, ainsi vous saurez ignorer l'événement si vous prévoyez d'appliquer des changements de manière optimiste sur le client (ce que vous voudrez probablement faire puisqu'il offre la meilleure expérience). Fournissez un UUID ici. L'ID doit être suffisamment unique pour ne pas apparaître deux fois au cours d'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 consulter le dépôt GitHub pour les consignes de contribution.