FastComments.com

FastComments Java SDK

Ovo je zvanični Java SDK za FastComments.

Zvanični Java SDK za FastComments API

Repozitorijum

Pogledajte na GitHubu


Instalacija Internal Link

Maven

Dodajte Repsy repozitorijum u POM vašeg projekta:

<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 klijent -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>client</artifactId>
        <version>0.0.2</version>
    </dependency>

    <!-- Core biblioteka (uključuje SSO) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>core</artifactId>
        <version>0.0.2</version>
    </dependency>

    <!-- PubSub biblioteka (za događaje uživo) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>pubsub</artifactId>
        <version>0.0.2</version>
    </dependency>
</dependencies>

Gradle

Dodajte Repsy repozitorijum u datoteku build.gradle:

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

dependencies {
    // API klijent
    implementation "com.fastcomments:client:0.0.2"

    // Core biblioteka (uključuje SSO)
    implementation "com.fastcomments:core:0.0.2"

    // PubSub biblioteka (za događaje uživo)
    implementation "com.fastcomments:pubsub:0.0.2"
}

Library Contents

Ova biblioteka sadrži tri modula. Generisani API klijent, core Java biblioteka koja sadrži ručno napisane pomoćne funkcije koje olakšavaju rad sa API-jem, i pubsub modul koji je biblioteka za pretplatu na tokove promena.

Public vs Secured APIs

Za API klijent postoje dve klase, DefaultApi i PublicApi. DefaultApi sadrži metode koje zahtevaju vaš API ključ, a PublicApi sadrži pozive API-ja koje je moguće izvršiti direktno iz pregledača/mobilnog uređaja/itd. bez autentifikacije.

Brzi početak Internal Link

Korišćenje autentifikovanih API-ja (DefaultApi)

Važno: Morate postaviti svoj API ključ na ApiClient pre nego što napravite autentifikovane zahteve. Ako to ne uradite, zahtevi će završiti sa 401 greškom.

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 konfigurišite ApiClient
        ApiClient apiClient = new ApiClient();

        // OBAVEZNO: Postavite svoj API ključ (preuzmite ga sa FastComments kontrolne table)
        apiClient.setApiKey("YOUR_API_KEY_HERE");

        // Kreirajte instancu DefaultApi sa konfigurisanim ApiClient
        DefaultApi api = new DefaultApi(apiClient);

        // Sada možete napraviti autentifikovane pozive API-ju
        try {
            // Primer: 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 greške:
            // - 401: Nedostaje ili je neispravan API ključ
            // - 400: Validacija zahteva nije uspela
        }
    }
}

Korišćenje javnih API-ja (PublicApi)

Javni endpointi ne zahtevaju 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: Uverite se da pozovete apiClient.setApiKey("YOUR_KEY") pre kreiranja instance DefaultApi.
  2. Wrong API class: Koristite DefaultApi za serverske autentifikovane zahteve, PublicApi za klijentske/javne zahteve.
  3. Null API key: SDK će ćutke preskočiti autentifikaciju ako je API ključ null, što dovodi do 401 grešaka.

Napomene Internal Link

Broadcast ID-jevi

Videćete da treba da pošaljete broadcastId u nekim API pozivima. Kada primite događaje, dobićete ovaj ID nazad, pa ćete znati da ignorišete događaj ako planirate optimistično primeniti izmene na klijentu (što ćete verovatno želeti da uradite jer pruža najbolje korisničko iskustvo). Pošaljite ovde UUID. ID treba da bude dovoljno jedinstven da se ne pojavi dva puta u okviru iste sesije pregledača.

Trebate pomoć?

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

Doprinosi

Doprinosi su dobrodošli! Molimo posetite GitHub repozitorijum za smernice o doprinosu.