FastComments.com

FastComments Java SDK

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

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

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

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


Инсталација 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>

Zatim dodajte zavisnosti koje su vam potrebne:

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

Gradle

Dodajte Repsy repozitorijum u vaš build.gradle fajl:

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

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

Library Contents

Ova biblioteka sadrži tri modula. Generisani API klijent, core Java biblioteka koja sadrži ručno napisane alate za olakšavanje rada sa API‑jem, i pubsub modul koji je biblioteka za pretplatu na promene feed‑ova.

Public vs Secured APIs

Za API klijent postoje tri klase, DefaultApi, PublicApi i ModerationApi. DefaultApi sadrži metode koje zahtevaju vaš API ključ, a PublicApi sadrži metode koje se mogu pozvati direktno iz pregledača/mobilnog uređaja itd. bez autentifikacije.

ModerationApi pruža opsežan skup live i brzih moderacionih API‑ja. Svaka metoda ModerationApi prihvata sso parametar i može se autentifikovati putem SSO‑a ili FastComments.com sesijskog kolačića.

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

Коришћење аутентификованих API-ја (DefaultApi)

Important: You must set your API key on the ApiClient before making authenticated requests. If you don't, requests will fail with a 401 error.

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) {
        // Креирајте и конфигуришите ApiClient
        ApiClient apiClient = new ApiClient();

        // ОБАВЕЗНО: Подесите ваш API кључ (преузмите га са вашe FastComments контролне табле)
        apiClient.setApiKey("YOUR_API_KEY_HERE");

        // Креирајте инстанцу API-ја са конфигурисаним клијентом
        DefaultApi api = new DefaultApi(apiClient);

        // Сада можете да правите аутентификоване API захтеве
        try {
            // Пример: Додавање SSO корисника
            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());
            // Уобичајене грешке:
            // - 401: API кључ недостаје или је неважећи
            // - 400: Валидација захтева није успела
        }
    }
}

Коришћење јавних API-ја (PublicApi)

Јавни ендпоинти не захтевају аутентификацију:

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

Коришћење модерацијских API-ја (ModerationApi)

Класа ModerationApi покреће контролну таблу модератора. Сва метода прихвата параметар sso који идентификује SSO-аутентификованог модератора у чије име се захтев обавља:

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

ModerationApi moderationApi = new ModerationApi();

try {
    // Листа коментара који чекају модерацију
    ModerationAPIGetCommentsResponse response = moderationApi.getApiComments()
        .sso("YOUR_SSO_TOKEN")
        .execute();
    System.out.println(response);
} catch (ApiException e) {
    e.printStackTrace();
}

Уобичајени проблеми

  1. 401 "missing-api-key" error: Уверите се да позивате apiClient.setApiKey("YOUR_KEY") пре него што креирате инстанцу DefaultApi.
  2. Погрешна класа API-ја: Користите DefaultApi за серверске аутентификоване захтеве, PublicApi за клијентске/јавне захтеве.
  3. Null API key: SDK ће тихо прескочити аутентификацију ако је API кључ null, што ће довести до 401 грешака.

Белешке Internal Link

Broadcast идентификатори

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


Потребна помоћ?

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

Допринеси

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