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 spremište 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 klijent -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>client</artifactId>
        <version>1.3.1</version>
    </dependency>

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

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

Gradle

Dodajte Repsy spremište u datoteku build.gradle:

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

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

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

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

Library Contents

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

Public vs Secured APIs

Za API klijenta postoje dvije klase, DefaultApi i PublicApi. DefaultApi sadrži metode koje zahtijevaju vaš API ključ, a PublicApi sadrži pozive API-ja koje je moguće izvršiti izravno iz preglednika/mobilnog uređaja/itd bez autentikacije.

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 vratiti grešku 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č (dohvatite ga s FastComments nadzorne ploče)
        apiClient.setApiKey("YOUR_API_KEY_HERE");

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

        // Sada možete izvoditi 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: Provjera valjanosti 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" error: Pobrinite se da pozovete apiClient.setApiKey("YOUR_KEY") prije kreiranja instance DefaultApi.
  2. Pogrešna API klasa: Koristite DefaultApi za poslužiteljske autentificirane zahtjeve, PublicApi za klijentske/javne zahtjeve.
  3. Null API ključ: SDK će tiho preskočiti autentifikaciju ako je API ključ null, što dovodi 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.