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 zur POM Ihres Projekts 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>1.3.1</version>
    </dependency>

    <!-- Core Library (includes SSO) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>core</artifactId>
        <version>1.3.1</version>
    </dependency>

    <!-- PubSub Library (for live events) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>pubsub</artifactId>
        <version>1.3.1</version>
    </dependency>
</dependencies>

Gradle

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

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

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

    // Core Library (includes SSO)
    implementation "com.fastcomments:core:1.3.1"

    // PubSub Library (for live events)
    implementation "com.fastcomments:pubsub:1.3.1"
}

Bibliotheksinhalte

Diese Bibliothek enthält drei Module: den generierten API-Client, die Core-Java-Bibliothek, die handgeschriebene Hilfsfunktionen 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 zwei Klassen, DefaultApi und PublicApi. Die DefaultApi enthält Methoden, die Ihren API-Schlüssel erfordern, und PublicApi enthält API-Aufrufe, die direkt von einem Browser/Mobilgerät/usw. ohne Authentifizierung ausgeführt werden können.

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 dies nicht tun, schlagen die 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) {
        // Erstelle und konfiguriere den API-Client
        ApiClient apiClient = new ApiClient();

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

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

        // Jetzt können Sie authentifizierte API-Aufrufe durchführen
        try {
            // Beispiel: Füge einen SSO-Benutzer hinzu
            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 erfordern 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();
}

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. API-Schlüssel ist null: Das SDK überspringt stillschweigend die Authentifizierung, 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.