FastComments.com

FastComments Java SDK


To je uradni Java SDK za FastComments.

Uradni Java SDK za FastComments API

Repozitorij

Oglejte si na GitHubu


Namestitev Internal Link

Maven

Dodajte Repsy repozitorij v POM datoteko vašega projekta:

<repositories>
    <repository>
        <id>repsy</id>
        <name>FastComments Maven Repository on Repsy</name>
        <url>https://repo.repsy.io/mvn/winrid/fastcomments</url>
    </repository>
</repositories>

Nato dodajte potrebne odvisnosti:

<dependencies>
    <!-- API odjemalec -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>client</artifactId>
        <version>2.0.0</version>
    </dependency>
    
    <!-- Jedrna knjižnica (vključuje SSO) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>core</artifactId>
        <version>2.0.0</version>
    </dependency>
    
    <!-- PubSub knjižnica (za dogodke v živo) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>pubsub</artifactId>
        <version>2.0.0</version>
    </dependency>
</dependencies>

Gradle

Dodajte Repsy repozitorij v datoteko build.gradle:

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

dependencies {
    // API odjemalec
    implementation "com.fastcomments:client:2.0.0"
    
    // Jedrna knjižnica (vključuje SSO)
    implementation "com.fastcomments:core:2.0.0"
    
    // PubSub knjižnica (za dogodke v živo)
    implementation "com.fastcomments:pubsub:2.0.0"
}

Library Contents

Ta knjižnica vsebuje tri module. Generirani API odjemalec, jedrna Java knjižnica, ki vsebuje ročno napisane pripomočke za lažje delo z API-jem, in modul pubsub, ki je knjižnica za naročanje na tokove sprememb.

Public vs Secured APIs

Za API odjemalca obstajajo tri razrede, DefaultApi, PublicApi in ModerationApi. DefaultApi vsebuje metode, ki zahtevajo vaš API ključ, medtem ko PublicApi vsebuje metode, ki jih je mogoče poklicati neposredno iz brskalnika/mobilne naprave/ipd. brez preverjanja pristnosti.

ModerationApi poganja nadzorno ploščo moderatorja. Vsebuje metode za moderiranje komentarjev (seznam, štetje, iskanje, dnevniki in izvoz), moderacijske ukrepe (odstrani/obnovi, označi, nastavi status pregleda/spama/odobritve, glasovi in znova odpri/zaključi nit), prepovedi (prepoved komentiranja, prekliči prepoved, povzetki pred prepovedjo, status prepovedi in nastavitve ter število prepovedanih uporabnikov) ter značke in zaupanje (podeli/odstrani značko, ročne značke, pridobi/nastavi faktor zaupanja in notranji uporabniški profil). Vsaka metoda ModerationApi sprejme parameter sso, kar omogoča, da se klic izvede v imenu moderatorja, avtenticiranega prek SSO.

Hiter začetek Internal Link

Uporaba avtenticiranih API-jev (DefaultApi)

Pomembno: Pred izvajanjem avtenticiranih zahtev morate nastaviti svoj API ključ na ApiClientu. Če tega ne storite, bodo zahteve neuspešne z napako 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) {
        // Ustvarite in konfigurirajte API odjemalca
        ApiClient apiClient = new ApiClient();

        // OBVEZNO: Nastavite svoj API ključ (pridobite ga iz FastComments nadzorne plošče)
        apiClient.setApiKey("YOUR_API_KEY_HERE");

        // Ustvarite instanco API z konfiguriranim odjemalcem
        DefaultApi api = new DefaultApi(apiClient);

        // Zdaj lahko izvajate avtenticirane klice API-ja
        try {
            // Primer: dodajanje SSO uporabnika
            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());
            // Pogoste napake:
            // - 401: API ključ manjka ali ni veljaven
            // - 400: Validacija zahtevka ni uspela
        }
    }
}

Uporaba javnih API-jev (PublicApi)

Javne končne točke ne zahtevajo avtentikacije:

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

Uporaba moderacijskih API-jev (ModerationApi)

Razred ModerationApi poganja nadzorno ploščo moderatorjev. Vsaka metoda sprejme parameter sso, ki identificira moderatorja, avtenticiranega z SSO, v čigar imenu je zahteva poslana:

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

ModerationApi moderationApi = new ModerationApi();

try {
    // Naštejte komentarje, ki čakajo na moderacijo
    ModerationAPIGetCommentsResponse response = moderationApi.getApiComments()
        .sso("YOUR_SSO_TOKEN")
        .execute();
    System.out.println(response);
} catch (ApiException e) {
    e.printStackTrace();
}

Pogoste težave

  1. 401 "missing-api-key" error: Prepričajte se, da pokličete apiClient.setApiKey("YOUR_KEY") pred ustvarjanjem instance DefaultApi.
  2. Napačen razred API: Uporabite DefaultApi za avtenticirane zahtevke na strežniški strani, PublicApi za odjemalske/javne zahtevke.
  3. API ključ je null: SDK bo tiho preskočil avtentikacijo, če je API ključ null, kar bo vodilo do 401 napak.

Opombe Internal Link

ID-ji oddaj

Videli boste, da v nekaterih klicih API morate posredovati broadcastId. Ko prejmete dogodke, boste prejeli ta ID nazaj, tako boste vedeli, da lahko dogodek prezrete, če nameravate optimistično uporabiti spremembe na odjemalcu (kar boste verjetno želeli storiti, saj zagotavlja najboljšo uporabniško izkušnjo). Posredujte tukaj UUID. ID naj bo dovolj edinstven, da se v eni seji brskalnika ne pojavi dvakrat.

Potrebujete pomoč?

Če naletite na težave ali imate vprašanja glede Java SDK, prosimo:

Prispevanje

Prispevki so dobrodošli! Prosimo, obiščite GitHub repozitorij za smernice za prispevanje.