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 der 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>0.0.2</version>
    </dependency>

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

    <!-- PubSub Library (for live events) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>pubsub</artifactId>
        <version>0.0.2</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:0.0.2"

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

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

Inhalt der Bibliothek

Diese Bibliothek enthält drei Module. Den generierten API-Client, die Core-Java-Bibliothek, die manuell geschriebene Hilfsfunktionen enthält, um die Arbeit mit der API zu erleichtern, und das pubsub-Modul, welches eine Bibliothek zum Abonnieren von Änderungsfeeds ist.

Öffentliche vs. geschützte APIs

Für den API-Client gibt es zwei Klassen, DefaultApi und PublicApi. Die DefaultApi enthält Methoden, die Ihren API-Schlüssel benötigen, und PublicApi enthält API-Aufrufe, die direkt aus einem Browser, einem 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.