FastComments.com

FastComments Java SDK

Αυτό είναι το επίσημο Java SDK για το FastComments.

Επίσημο Java SDK για το API του FastComments

Αποθετήριο

Προβολή στο GitHub


Εγκατάσταση Internal Link

Maven

Προσθέστε το αποθετήριο Repsy στο POM του έργου σας:

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

Στη συνέχεια, προσθέστε τις εξαρτήσεις που χρειάζεστε:

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

Gradle

Προσθέστε το αποθετήριο Repsy στο αρχείο build.gradle σας:

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

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

Περιεχόμενα βιβλιοθήκης

Αυτή η βιβλιοθήκη περιέχει τρεις μονάδες. Ο παραγόμενος client API, η βασική βιβλιοθήκη Java η οποία περιέχει χειροποίητα βοηθητικά εργαλεία για να διευκολύνει την εργασία με το API, και το module pubsub που είναι μια βιβλιοθήκη για εγγραφή σε ροές αλλαγών.

Δημόσια έναντι Προστατευμένων API

Για τον πελάτη API, υπάρχουν τρεις κλάσεις, DefaultApi, PublicApi, και ModerationApi. Η DefaultApi περιέχει μεθόδους που απαιτούν το κλειδί API σας, και η PublicApi περιέχει μεθόδους που μπορούν να γίνουν απευθείας από ένα πρόγραμμα περιήγησης/κινητή συσκευή/κ.λπ. χωρίς πιστοποίηση.

Η ModerationApi τροφοδοτεί τον πίνακα ελέγχου (dashboard) του διαχειριστή. Περιέχει μεθόδους για την επιτήρηση σχολίων (λίστα, καταμέτρηση, αναζήτηση, αρχεία καταγραφής και εξαγωγή), ενέργειες επιτήρησης (αφαίρεση/επαναφορά, σήμανση, ορισμός κατάστασης αναθεώρησης/spam/έγκρισης, ψήφοι, και επαναφορά/κλείσιμο νήματος), αποκλεισμούς (απαγόρευση σχολιασμού, άρση αποκλεισμού, προ-αποκλειστικές περιλήψεις, κατάσταση και προτιμήσεις αποκλεισμού, και αριθμοί αποκλεισμένων χρηστών), και διακριτικά & εμπιστοσύνη (απονομή/αφαίρεση διακριτικού, χειροκίνητα διακριτικά, λήψη/ρύθμιση παράγοντα εμπιστοσύνης, και εσωτερικό προφίλ χρήστη). Κάθε μέθοδος της ModerationApi δέχεται παράμετρο sso, ώστε η κλήση να μπορεί να εκτελεστεί εκ μέρους ενός διαχειριστή που έχει πιστοποιηθεί μέσω SSO.

Γρήγορη Εκκίνηση Internal Link

Χρήση Αυθεντικοποιημένων API (DefaultApi)

Σημαντικό: Πρέπει να ορίσετε το API key σας στον 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) {
        // Δημιουργήστε και διαμορφώστε τον API client
        ApiClient apiClient = new ApiClient();

        // ΑΠΑΙΤΕΙΤΑΙ: Ορίστε το API key σας (λάβετε το από το dashboard του FastComments)
        apiClient.setApiKey("YOUR_API_KEY_HERE");

        // Δημιουργήστε το API instance με τον διαμορφωμένο client
        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 key λείπει ή είναι άκυρο
            // - 400: Η επικύρωση του αιτήματος απέτυχε
        }
    }
}

Χρήση Δημόσιων API (PublicApi)

Τα δημόσια endpoints δεν απαιτούν αυθεντικοποίηση:

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") πριν δημιουργήσετε το instance του DefaultApi.
  2. Wrong API class: Χρησιμοποιήστε DefaultApi για αιτήματα διακομιστή με αυθεντικοποίηση, PublicApi για client-side/δημόσια αιτήματα.
  3. Μηδενικό API key (null): Το SDK θα παραλείψει σιωπηλά την αυθεντικοποίηση αν το API key είναι null, οδηγώντας σε σφάλματα 401.

Σημειώσεις Internal Link

Αναγνωριστικά μετάδοσης

Θα δείτε ότι πρέπει να περάσετε ένα broadcastId σε μερικές κλήσεις API. Όταν λαμβάνετε συμβάντα, θα λάβετε αυτό το ID πίσω, ώστε να γνωρίζετε να αγνοήσετε το συμβάν αν σκοπεύετε να εφαρμόσετε τις αλλαγές αισιόδοξα στον πελάτη (που πιθανότατα θα θελήσετε να κάνετε καθώς προσφέρει την καλύτερη εμπειρία). Περάστε εδώ ένα UUID. Το ID θα πρέπει να είναι αρκετά μοναδικό ώστε να μην εμφανίζεται δύο φορές σε μια συνεδρία περιηγητή.


Χρειάζεστε βοήθεια;

Εάν αντιμετωπίσετε προβλήματα ή έχετε ερωτήσεις σχετικά με το Java SDK, παρακαλούμε:

Συνεισφορές

Οι συνεισφορές είναι ευπρόσδεκτες! Παρακαλούμε επισκεφτείτε το αποθετήριο GitHub για οδηγίες συνεισφοράς.