FastComments.com

FastComments Java SDK


To jest oficjalne SDK Java dla FastComments.

Oficjalne SDK Java dla API FastComments

Repozytorium

Zobacz na GitHub


Instalacja Internal Link

Maven

Dodaj repozytorium Repsy do POM Twojego projektu:

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

Następnie dodaj potrzebne zależności:

<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

Dodaj repozytorium Repsy do pliku build.gradle:

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

Zawartość biblioteki

Ta biblioteka zawiera trzy moduły. Wygenerowanego klienta API, bibliotekę core Java, która zawiera ręcznie napisane narzędzia ułatwiające pracę z API, oraz moduł pubsub, który jest biblioteką do subskrybowania strumieni zmian.

Publiczne vs zabezpieczone API

W kliencie API są dwie klasy, DefaultApi i PublicApi. DefaultApi zawiera metody wymagające Twojego klucza API, a PublicApi zawiera wywołania API, które można wykonywać bezpośrednio z przeglądarki/urządzenia mobilnego itp. bez uwierzytelniania.

Szybki start Internal Link

Korzystanie z uwierzytelnionych interfejsów API (DefaultApi)

Ważne: Musisz ustawić swój klucz API na ApiClient przed wykonywaniem uwierzytelnionych żądań. Jeśli tego nie zrobisz, żądania zakończą się błędem 401.

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) {
        // Create and configure the API client
        ApiClient apiClient = new ApiClient();

        // REQUIRED: Set your API key (get this from your FastComments dashboard)
        apiClient.setApiKey("YOUR_API_KEY_HERE");

        // Create the API instance with the configured client
        DefaultApi api = new DefaultApi(apiClient);

        // Now you can make authenticated API calls
        try {
            // Example: Add an SSO user
            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());
            // Common errors:
            // - 401: API key is missing or invalid
            // - 400: Request validation failed
        }
    }
}

Korzystanie z publicznych interfejsów API (PublicApi)

Publiczne endpointy nie wymagają uwierzytelnienia:

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

Częste problemy

  1. 401 "missing-api-key" error: Upewnij się, że wywołujesz apiClient.setApiKey("YOUR_KEY") przed utworzeniem instancji DefaultApi.
  2. Wrong API class: Użyj DefaultApi do uwierzytelnionych żądań po stronie serwera, PublicApi do żądań po stronie klienta/publicznych.
  3. Null API key: SDK automatycznie pominie uwierzytelnianie, jeśli klucz API ma wartość null, co spowoduje błędy 401.

Uwagi Internal Link

Identyfikatory broadcastów

Zobaczysz, że w niektórych wywołaniach API powinieneś przekazać broadcastId. Kiedy otrzymasz zdarzenia, otrzymasz z powrotem ten identyfikator, dzięki czemu będziesz wiedział, aby zignorować zdarzenie jeśli planujesz optymistycznie zastosować zmiany po stronie klienta (czego prawdopodobnie zechcesz zrobić, ponieważ daje to najlepsze doświadczenie). Przekaż tutaj UUID. Identyfikator powinien być na tyle unikalny, by nie pojawił się dwukrotnie w sesji przeglądarki.

Potrzebujesz pomocy?

Jeśli napotkasz jakiekolwiek problemy lub będziesz mieć pytania dotyczące Java SDK, prosimy:

Współtworzenie

Wkład jest mile widziany! Prosimy odwiedzić repozytorium GitHub po wytyczne dotyczące kontrybucji.