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>

Then add the dependencies you need:

<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

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: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"
}

Bibliotekets indhold

Dette bibliotek indeholder tre moduler. Den genererede API-klient, kerne-Java-biblioteket som indeholder håndskrevne værktøjer til 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 to klasser, DefaultApi og PublicApi. DefaultApi indeholder metoder, der kræver din API-nøgle, og PublicApi indeholder API-opkald, der kan foretages direkte fra en browser, mobil enhed osv. uden godkendelse.

Hurtigstart Internal Link

Brug af autentificerede API'er (DefaultApi)

Vigtigt: Du skal angive din API-nøgle på ApiClient før du foretager autentificerede anmodninger. Hvis du ikke gør det, vil anmodninger mislykkes 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: Indstil din API-nøgle (hent den fra dit FastComments-dashboard)
        apiClient.setApiKey("YOUR_API_KEY_HERE");

        // Opret API-instanse 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: Anmodningsvalidering mislykkedes
        }
    }
}

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

Almindelige problemer

  1. 401 "missing-api-key" fejl: Sørg for at du kalder apiClient.setApiKey("YOUR_KEY") før du opretter DefaultApi-instanse.
  2. Forkert API-klasse: Brug DefaultApi for server-side autentificerede anmodninger, PublicApi for klient-side/offentlige anmodninger.
  3. Null API-nøgle: SDK'en vil stiltiende 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.