FastComments.com

FastComments Java SDK

Dette er den officielle Java SDK til FastComments.

Officiel Java SDK til FastComments API

Repository

Se på GitHub

AI-kodningsagenter Internal Link

skills.sh

Giv din kodeagent den FastComments‑kontekst, den har brug for – widgets, konfiguration, Secure SSO, REST‑API’en og SDK’erne:

npx skills add fastcomments/skills

Fungerer med Claude Code, Codex, Cursor, Copilot, Gemini og alle andre agenter, som skills CLI understøtter.

Installation Internal Link

Maven

Tilføj Repsy-repositoriet til dit projekts POM:

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

Tilføj derefter de afhængigheder, du har brug for:

<dependencies>
    <!-- API Client -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>client</artifactId>
        <version>3.1.1</version>
    </dependency>
    
    <!-- Core Library (includes SSO) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>core</artifactId>
        <version>3.1.1</version>
    </dependency>
    
    <!-- PubSub Library (for live events) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>pubsub</artifactId>
        <version>3.1.1</version>
    </dependency>
</dependencies>

Gradle

Tilføj Repsy-repositoriet til din build.gradle-fil:

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

dependencies {
    // API Client
    implementation "com.fastcomments:client:3.1.1"
    
    // Core Library (includes SSO)
    implementation "com.fastcomments:core:3.1.1"
    
    // PubSub Library (for live events)
    implementation "com.fastcomments:pubsub:3.1.1"
}

Biblioteksindhold

Dette bibliotek indeholder tre moduler. Den genererede API-klient, kernebiblioteket til Java, som indeholder håndskrevne værktøjer for at gøre arbejdet med API'et lettere, og pubsub-modulet, som er et bibliotek til at abonnere på ændringsfeeds.

Offentlige vs Sikrede API'er

For API-klienten er der tre klasser, DefaultApi, PublicApi og ModerationApi. DefaultApi indeholder metoder, der kræver din API-nøgle, og PublicApi indeholder metoder, som kan kaldes direkte fra en browser/mobil enhed osv. uden godkendelse.

ModerationApi leverer en omfattende suite af live og hurtige moderations-API'er. Hver ModerationApi-metode accepterer en sso-parameter og kan autentificere via SSO eller en FastComments.com sessionscookie.

Hurtig start Internal Link

Brug af autentificerede API'er (DefaultApi)

Vigtigt: Du skal angive din API-nøgle på ApiClient, før du foretager autentificerede kald. Hvis du ikke gør det, vil kaldene fejle med en 401-fejl.

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) {
        // Opret og konfigurer API-klienten
        ApiClient apiClient = new ApiClient();

        // PÅKRÆVET: Angiv din API-nøgle (få den fra dit FastComments-dashboard)
        apiClient.setApiKey("YOUR_API_KEY_HERE");

        // Opret API-instansen med den konfigurerede klient
        DefaultApi api = new DefaultApi(apiClient);

        // Nu kan du foretage autentificerede API-kald
        try {
            // Eksempel: Tilføj en SSO-bruger
            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("Bruger oprettet: " + response);

        } catch (ApiException e) {
            System.err.println("Fejl: " + e.getResponseBody());
            // Almindelige fejl:
            // - 401: API-nøglen mangler eller er ugyldig
            // - 400: Validering af anmodningen fejlede
        }
    }
}

Brug af offentlige API'er (PublicApi)

Offentlige endpoints kræver ikke autentificering:

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

Brug af moderations-API'er (ModerationApi)

ModerationApi driver moderator-dashboardet. Hver metode accepterer en sso-parameter, der identificerer den SSO-autentificerede moderator, på hvis vegne anmodningen foretages:

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

ModerationApi moderationApi = new ModerationApi();

try {
    // Vis kommentarer, der afventer moderation
    ModerationAPIGetCommentsResponse response = moderationApi.getApiComments()
        .sso("YOUR_SSO_TOKEN")
        .execute();
    System.out.println(response);
} catch (ApiException e) {
    e.printStackTrace();
}

Almindelige problemer

  1. 401 "missing-api-key"-fejl: Sørg for at kalde apiClient.setApiKey("YOUR_KEY"), før du opretter DefaultApi-instansen.
  2. Forkert API-klasse: Brug DefaultApi til autentificerede server-side-kald og PublicApi til klient-side/offentlige kald.
  3. Null API-nøgle: SDK'et vil stille springe autentificering over, hvis API-nøglen er null, hvilket fører til 401-fejl.

Noter Internal Link

Broadcast-id'er

Du vil se, at du skal sende en broadcastId i nogle API-kald. Når du modtager begivenheder, får du dette ID tilbage, så du kan ignorere begivenheden, hvis du planlægger at anvende ændringer optimistisk på klienten (hvilket du sandsynligvis vil gøre, da det giver den bedste oplevelse). Angiv en UUID her. ID'en skal være unik nok til ikke at forekomme to gange i samme browser-session.

Brug for hjælp?

Hvis du støder på problemer eller har spørgsmål om Java SDK'en, så:

Bidrag

Bidrag er velkomne! Besøg venligst GitHub-repositoriet for retningslinjer for bidrag.