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 potrebne zavisnosti:

<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 repozitorij 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 s API‑jem, i pubsub modul koji je biblioteka za pretplatu na promjene feed‑ova.

Public vs Secured APIs

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

ModerationApi pruža opsežan skup live i brzih moderacijskih 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)

Важно: Морате подесити ваш API кључ на ApiClient пре слања аутентификованих захтјева. Ако то не урадите, захтјеви ће резултирати 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) {
        // Креирајте и конфигуришите ApiClient
        ApiClient apiClient = new ApiClient();

        // ОБАВЕЗНО: Подесите ваш API кључ (преузмите га са 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)

The ModerationApi drives the moderator dashboard. Each method accepts an sso parameter identifying the SSO-authenticated moderator on whose behalf the request is made:

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. Wrong API class: Користите DefaultApi за аутентификоване захтјеве на страни сервера, PublicApi за захтјеве на страни клијента/јавне захтјеве.
  3. Null API key: SDK ће тихо прескочити аутентификацију ако је API кључ null, што резултира 401 грешкама.

Напомена Internal Link

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

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


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

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

Допринoси

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