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

Dodajte Repsy repozitorij 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>

Zatim dodajte potrebne ovisnosti:

<dependencies>
    <!-- API Client -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>client</artifactId>
        <version>2.0.0</version>
    </dependency>
    
    <!-- Core Library (includes SSO) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>core</artifactId>
        <version>2.0.0</version>
    </dependency>
    
    <!-- PubSub Library (for live events) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>pubsub</artifactId>
        <version>2.0.0</version>
    </dependency>
</dependencies>

Gradle

Dodajte Repsy repozitorij u datoteku build.gradle:

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

dependencies {
    // API Client
    implementation "com.fastcomments:client:2.0.0"
    
    // Core Library (includes SSO)
    implementation "com.fastcomments:core:2.0.0"
    
    // PubSub Library (for live events)
    implementation "com.fastcomments:pubsub:2.0.0"
}

Library Contents

Ova biblioteka sadrži tri modula. Generirani API klijent, core Java biblioteka koja sadrži ručno napisane pomoćne funkcije za lakši rad s API-jem, i modul pubsub koji je biblioteka za pretplatu na feedove promjena.

Public vs Secured APIs

Za API klijenta postoje tri klase, DefaultApi, PublicApi, i ModerationApi. DefaultApi sadrži metode koje zahtijevaju vaš API ključ, a PublicApi sadrži metode koje se mogu pozivati izravno iz preglednika/mobilnog uređaja/itd. bez autentifikacije.

ModerationApi pokreće nadzornu ploču moderatora. Sadrži metode za moderiranje komentara (listanje, brojanje, pretraživanje, zapisi i izvoz), akcije moderiranja (ukloni/vrati, označi, postavi status za pregled/spam/odobrenje, glasovi i ponovno otvori/zatvori temu), zabrane (zabrana komentiranja, poništi zabranu, sažeci prije zabrane, status i postavke zabrane, i broj zabranjenih korisnika), te značke i povjerenje (dodijeli/ukloni značku, ručne značke, dohvati/postavi faktor povjerenja i interni korisnički profil). Svaka metoda ModerationApi prihvaća sso parametar tako da se poziv može izvršiti u ime moderatora autentificiranog putem SSO-a.

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 rezultirati pogreškom 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č (nabavite ga s FastComments nadzorne ploče)
        apiClient.setApiKey("YOUR_API_KEY_HERE");

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

        // Sada možete upućivati 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: Validacija 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();
}

Korištenje moderacijskih API-ja (ModerationApi)

The ModerationApi pokreće nadzornu ploču moderatora. Svaka metoda prihvaća parametar sso koji identificira SSO-autentificiranog moderatora u čije ime se zahtjev izvršava:

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

ModerationApi moderationApi = new ModerationApi();

try {
    // Nabrojite komentare koji čekaju na moderaciju
    ModerationAPIGetCommentsResponse response = moderationApi.getApiComments()
        .sso("YOUR_SSO_TOKEN")
        .execute();
    System.out.println(response);
} catch (ApiException e) {
    e.printStackTrace();
}

Uobičajeni problemi

  1. 401 "missing-api-key" pogreška: Provjerite da pozivate apiClient.setApiKey("YOUR_KEY") prije nego što stvarate instancu DefaultApi.
  2. Pogrešna API klasa: Koristite DefaultApi za serverske autentificirane zahtjeve, PublicApi za klijentske/javne zahtjeve.
  3. Null API ključ: SDK će tiho preskočiti autentifikaciju ako je API ključ null, što će dovesti 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.