FastComments.com

FastComments Java SDK

Ovo je službeni Java SDK za FastComments.

Službeni Java SDK za FastComments API

Repozitorij

Pogledajte na GitHubu


Instalacija Internal Link

Maven

Add the Repsy repository to your project's 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

Add the Repsy repository to your build.gradle file:

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

Library Contents

This library contains three modules. The generated API client, the core Java library which contains hand-written utilities to make working with the API easier, and the pubsub module which is a library for subscribing to change feeds.

Public vs Secured APIs

For the API client, there are two classes, DefaultApi and PublicApi. The DefaultApi contains methods that require your API key, and PublicApi contains api calls that can be made directly from a browser/mobile device/etc without authentication.

Brzi početak Internal Link

Korištenje autentificiranih API-ja (DefaultApi)

Važno: Morate postaviti svoj API ključ na ApiClient prije slanja autentificiranih zahtjeva. Ako to ne učinite, zahtjevi će vratiti grešku 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) {
        // Kreirajte i konfigurirajte API klijent
        ApiClient apiClient = new ApiClient();

        // OBAVEZNO: Postavite svoj API ključ (dohvatite ga s FastComments nadzorne ploče)
        apiClient.setApiKey("YOUR_API_KEY_HERE");

        // Kreirajte instancu API-ja s konfiguriranim klijentom
        DefaultApi api = new DefaultApi(apiClient);

        // Sada možete izvoditi autentificirane API pozive
        try {
            // Primjer: Dodavanje SSO korisnika
            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());
            // Uobičajene pogreške:
            // - 401: API ključ nedostaje ili je neispravan
            // - 400: Provjera valjanosti zahtjeva nije uspjela
        }
    }
}

Korištenje javnih API-ja (PublicApi)

Javni endpointi ne zahtijevaju autentifikaciju:

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

Uobičajeni problemi

  1. 401 "missing-api-key" error: Pobrinite se da pozovete apiClient.setApiKey("YOUR_KEY") prije kreiranja instance DefaultApi.
  2. Pogrešna API klasa: Koristite DefaultApi za poslužiteljske autentificirane zahtjeve, PublicApi za klijentske/javne zahtjeve.
  3. Null API ključ: SDK će tiho preskočiti autentifikaciju ako je API ključ null, što dovodi do 401 pogrešaka.

Bilješke Internal Link

Broadcast identifikatori

Vidjet ćete da trebate proslijediti broadcastId u nekim API pozivima. Kada primite događaje, dobit ćete taj ID natrag, tako da znate zanemariti događaj ako planirate optimistično primijeniti promjene na klijentu (što ćete vjerojatno htjeti učiniti jer pruža najbolje iskustvo). Ovdje proslijedite UUID. ID bi trebao biti dovoljno jedinstven da se ne pojavi dva puta u jednoj sesiji preglednika.


Trebate pomoć?

Ako naiđete na bilo kakve probleme ili imate pitanja o Java SDK-u, molimo:

Doprinosi

Doprinosi su dobrodošli! Posjetite GitHub repozitorij za smjernice za doprinos.