FastComments.com

FastComments Java SDK


Ово је званични Java SDK за FastComments.

Званични Java SDK за FastComments API

Репозиторијум

Погледајте на GitHub


Инсталација 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 zavisnosti koje su vam potrebne:

<dependencies>
    <!-- API Client -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>client</artifactId>
        <version>1.3.1</version>
    </dependency>

    <!-- Core Library (includes SSO) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>core</artifactId>
        <version>1.3.1</version>
    </dependency>

    <!-- PubSub Library (for live events) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>pubsub</artifactId>
        <version>1.3.1</version>
    </dependency>
</dependencies>

Gradle

Dodajte Repsy repozitorij u vašu build.gradle datoteku:

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

dependencies {
    // API Client
    implementation "com.fastcomments:client:1.3.1"

    // Core Library (includes SSO)
    implementation "com.fastcomments:core:1.3.1"

    // PubSub Library (for live events)
    implementation "com.fastcomments:pubsub:1.3.1"
}

Sadržaj biblioteke

Ova biblioteka sadrži tri modula. Generisani API klijent, osnovna Java biblioteka koja sadrži ručno napisane utilitete za olakšavanje rada sa API-jem, i modul pubsub koji je biblioteka za pretplatu na feedove promjena.

Javni i Zaštićeni API-ji

Za API klijent postoje dvije klase, DefaultApi i PublicApi. DefaultApi sadrži metode koje zahtijevaju vaš API ključ, a PublicApi sadrži API pozive koji se mogu izvršiti direktno iz preglednika/mobilnog uređaja/itd bez autentifikacije.

Брзи почетак Internal Link

Korištenje autentifikovanih API-ja (DefaultApi)

Važno: Morate postaviti vaš API ključ na ApiClient prije nego što napravite autentifikovane zahtjeve. Ako to ne uradite, zahtjevi ć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) {
        // Kreiraj i konfiguriraj API klijent
        ApiClient apiClient = new ApiClient();

        // OBAVEZNO: Postavite vaš API ključ (preuzmite ga sa FastComments kontrolne ploče)
        apiClient.setApiKey("YOUR_API_KEY_HERE");

        // Kreiraj instancu API-ja sa konfiguriranim klijentom
        DefaultApi api = new DefaultApi(apiClient);

        // Sada možete praviti autentifikovane 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 greške:
            // - 401: API key nedostaje ili je nevažeći
            // - 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();
}

Uobičajeni problemi

  1. 401 "missing-api-key" greška: Provjerite da li pozivate apiClient.setApiKey("YOUR_KEY") prije kreiranja instance DefaultApi.
  2. Pogrešna API klasa: Koristite DefaultApi za autentifikovane zahtjeve na serverskoj strani, a PublicApi za zahtjeve na klijentskoj strani/javne zahtjeve.
  3. Null API key: SDK će tiho preskočiti autentifikaciju ako je API key null, što će dovesti do 401 grešaka.

Напомене Internal Link

Идентификатори емитовања

Видећете да треба да пошаљете broadcastId у неким API позивима. Када примите догађаје, добићете овај ID назад, тако да ћете знати да игноришете догађај ако планирате да оптимистички примените измене на клијенту (што ћете вероватно желети да урадите јер пружа најбоље корисничко искуство). Овде проследите UUID. Тај ID треба да буде довољно јединствен да се не појави два пута у току једне сесије прегледача.


Требате помоћ?

Ако наиђете на било какве проблеме или имате питања у вези Java SDK-а, молимо:

Допринoси

Допринеси су добродошли! Молимо посетите GitHub репозиторијум за смернице о доприносу.