FastComments.com

FastComments Java SDK

Dette er den officielle Java SDK til FastComments.

Officiel Java SDK til FastComments API

Repository

Se på GitHub


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-klient -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>client</artifactId>
        <version>3.0.1</version>
    </dependency>
    
    <!-- Kernebibliotek (inkluderer SSO) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>core</artifactId>
        <version>3.0.1</version>
    </dependency>
    
    <!-- PubSub-bibliotek (til live‑begivenheder) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>pubsub</artifactId>
        <version>3.0.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-klient
    implementation "com.fastcomments:client:3.0.1"
    
    // Kernebibliotek (inkluderer SSO)
    implementation "com.fastcomments:core:3.0.1"
    
    // PubSub-bibliotek (til live‑begivenheder)
    implementation "com.fastcomments:pubsub:3.0.1"
}

Biblioteksindhold

Dette bibliotek indeholder tre moduler: den genererede API‑klient, kernebiblioteket for Java som indeholder håndskrevne hjælpefunktioner for at gøre arbejdet med API‑et lettere, samt pubsub‑modulet som er et bibliotek til at abonnere på ændringsfeeds.

Offentlige vs sikrede API'er

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

ModerationApi leverer et omfattende sæt af live‑ og hurtige moderations‑API’er. Hver ModerationApi‑metode accepterer en sso‑parameter og kan autentificeres via SSO eller en FastComments.com‑sessions‑cookie.

Kom godt i gang Internal Link

Brug af autentificerede API'er (DefaultApi)

Vigtigt: Du skal angive din API-nøgle på ApiClient før du foretager autentificerede forespørgsler. Hvis du ikke gør det, vil forespørgsler 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 (hent 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 lave 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("User created: " + response);

        } catch (ApiException e) {
            System.err.println("Error: " + e.getResponseBody());
            // Almindelige fejl:
            // - 401: API-nøgle mangler eller er ugyldig
            // - 400: Validering af forespørgsel mislykkedes
        }
    }
}

Brug af offentlige API'er (PublicApi)

Offentlige endepunkter 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 Moderation APIs (ModerationApi)

The ModerationApi drives the moderator dashboard. Each method accepts an sso parameter identifying the SSO-authenticated moderator on whose behalf the request is made:

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

ModerationApi moderationApi = new ModerationApi();

try {
    // List 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 du kalder apiClient.setApiKey("YOUR_KEY") før du opretter DefaultApi-instansen.
  2. Forkert API-klasse: Brug DefaultApi til server-side autentificerede forespørgsler, PublicApi til klient-side/offentlige forespørgsler.
  3. Null API-nøgle: SDK'en vil stilfærdigt 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.