FastComments.com

FastComments Java SDK


Dies ist das offizielle Java-SDK für FastComments.

Offizielles Java-SDK für die FastComments-API

Repository

Auf GitHub ansehen


Installation Internal Link

Maven

Fügen Sie das Repsy-Repository zu Ihrer Projekt-POM hinzu:

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

Fügen Sie dann die benötigten Abhängigkeiten hinzu:

<dependencies>
    <!-- API-Client -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>client</artifactId>
        <version>3.0.1</version>
    </dependency>
    
    <!-- Core-Bibliothek (enthält SSO) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>core</artifactId>
        <version>3.0.1</version>
    </dependency>
    
    <!-- PubSub-Bibliothek (für Live-Ereignisse) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>pubsub</artifactId>
        <version>3.0.1</version>
    </dependency>
</dependencies>

Gradle

Fügen Sie das Repsy-Repository zu Ihrer build.gradle‑Datei hinzu:

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

dependencies {
    // API-Client
    implementation "com.fastcomments:client:3.0.1"
    
    // Core-Bibliothek (enthält SSO)
    implementation "com.fastcomments:core:3.0.1"
    
    // PubSub-Bibliothek (für Live-Ereignisse)
    implementation "com.fastcomments:pubsub:3.0.1"
}

Bibliotheksinhalte

Diese Bibliothek enthält drei Module: den generierten API-Client, die Kern‑Java‑Bibliothek, die handgeschriebene Hilfsprogramme enthält, um die Arbeit mit der API zu erleichtern, und das pubsub‑Modul, das eine Bibliothek zum Abonnieren von Änderungsfeeds ist.

Öffentliche vs gesicherte APIs

Für den API-Client gibt es drei Klassen, DefaultApi, PublicApi und ModerationApi. DefaultApi enthält Methoden, die Ihren API-Schlüssel erfordern, und PublicApi enthält Methoden, die direkt von einem Browser/Mobilgerät usw. ohne Authentifizierung aufgerufen werden können.

ModerationApi bietet eine reiche Palette von Live- und schnellen Moderations-APIs. Jede ModerationApi‑Methode akzeptiert einen sso‑Parameter und kann sich über SSO oder ein FastComments.com‑Sitzungs‑Cookie authentifizieren.

Schnellstart Internal Link

Verwendung authentifizierter APIs (DefaultApi)

Wichtig: Sie müssen Ihren API-Schlüssel im ApiClient setzen, bevor Sie authentifizierte Anfragen durchführen. Wenn Sie das nicht tun, schlagen Anfragen mit einem 401-Fehler fehl.

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) {
        // Erstellen und konfigurieren Sie den API-Client
        ApiClient apiClient = new ApiClient();

        // ERFORDERLICH: Setzen Sie Ihren API-Schlüssel (diesen erhalten Sie im FastComments-Dashboard)
        apiClient.setApiKey("YOUR_API_KEY_HERE");

        // Erstellen Sie die API-Instanz mit dem konfigurierten Client
        DefaultApi api = new DefaultApi(apiClient);

        // Jetzt können Sie authentifizierte API-Aufrufe tätigen
        try {
            // Beispiel: Einen SSO-Benutzer hinzufügen
            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());
            // Häufige Fehler:
            // - 401: API-Schlüssel fehlt oder ist ungültig
            // - 400: Anfragevalidierung fehlgeschlagen
        }
    }
}

Verwendung öffentlicher APIs (PublicApi)

Öffentliche Endpunkte benötigen keine Authentifizierung:

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();
}

Verwendung der Moderations-APIs (ModerationApi)

Die ModerationApi steuert das Moderatoren-Dashboard. Jede Methode akzeptiert einen sso-Parameter, der den SSO-authentifizierten Moderator identifiziert, in dessen Namen die Anfrage gestellt wird:

import com.fastcomments.api.ModerationApi;
import com.fastcomments.invoker.ApiException;
import com.fastcomments.model.*;

ModerationApi moderationApi = new ModerationApi();

try {
    // Kommentare auflisten, die auf Moderation warten
    ModerationAPIGetCommentsResponse response = moderationApi.getApiComments()
        .sso("YOUR_SSO_TOKEN")
        .execute();
    System.out.println(response);
} catch (ApiException e) {
    e.printStackTrace();
}

Häufige Probleme

  1. 401 "missing-api-key" error: Stellen Sie sicher, dass Sie apiClient.setApiKey("YOUR_KEY") aufrufen, bevor Sie die DefaultApi-Instanz erstellen.
  2. Falsche API-Klasse: Verwenden Sie DefaultApi für serverseitige authentifizierte Anfragen, PublicApi für clientseitige/öffentliche Anfragen.
  3. Null-API-Schlüssel: Das SDK überspringt die Authentifizierung stillschweigend, wenn der API-Schlüssel null ist, was zu 401-Fehlern führt.

Hinweise Internal Link

Broadcast-IDs

Du wirst sehen, dass du in einigen API-Aufrufen ein broadcastId übergeben sollst. Wenn du Ereignisse empfängst, erhältst du diese ID zurück, damit du das Ereignis ignorieren kannst, falls du Änderungen optimistisch auf dem Client (was du vermutlich tun möchtest, da es die beste Benutzererfahrung bietet). Übergebe hier eine UUID. Die ID sollte so eindeutig sein, dass sie in einer Browsersitzung nicht zweimal vorkommt.

Benötigen Sie Hilfe?

Wenn Sie auf Probleme stoßen oder Fragen zum Java SDK haben, bitte:

Mitwirken

Beiträge sind willkommen! Bitte besuchen Sie das GitHub-Repository für Richtlinien zur Beitragserstellung.