FastComments.com

FastComments Java SDK

ื–ื” ื”-SDK ื”ืจืฉืžื™ ืฉืœ Java ืขื‘ื•ืจ FastComments.

ื”-SDK ื”ืจืฉืžื™ ืฉืœ Java ืขื‘ื•ืจ ืžืžืฉืง ื”-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>0.0.2</version>
    </dependency>

    <!-- Core Library (includes SSO) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>core</artifactId>
        <version>0.0.2</version>
    </dependency>

    <!-- PubSub Library (for live events) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>pubsub</artifactId>
        <version>0.0.2</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:0.0.2"

    // Core Library (includes SSO)
    implementation "com.fastcomments:core:0.0.2"

    // PubSub Library (for live events)
    implementation "com.fastcomments:pubsub:0.0.2"
}

Library Contents

ื”ืกืคืจื™ื™ื” ืžื›ื™ืœื” ืฉืœื•ืฉื” ืžื•ื“ื•ืœื™ื. ืœืงื•ื— ื”-API ืฉื ื•ืฆืจ, ืกืคืจื™ื™ืช Java ืžืจื›ื–ื™ืช ื”ืžื›ื™ืœื” ื›ืœื™ ืขื–ืจ ืฉื ื›ืชื‘ื• ื™ื“ื ื™ืช ื›ื“ื™ ืœื”ืงืœ ืขืœ ื”ืขื‘ื•ื“ื” ืขื ื”-API, ื•ื”ืžื•ื“ื•ืœ pubsub ืฉื”ื•ื ืกืคืจื™ื™ื” ืœืžื ื•ื™ ืœื–ืจืžื™ ืฉื™ื ื•ื™ื™ื.

Public vs Secured APIs

ืœืœืงื•ื— ื”-API ื™ืฉ ืฉืชื™ ืžื—ืœืงื•ืช, DefaultApi ื•-PublicApi. ื”-DefaultApi ืžื›ื™ืœื” ืฉื™ื˜ื•ืช ืฉื“ื•ืจืฉื•ืช ืืช ืžืคืชื— ื”-API ืฉืœืš, ื•-PublicApi ืžื›ื™ืœื” ืงืจื™ืื•ืช API ืฉื ื™ืชืŸ ืœื‘ืฆืข ื™ืฉื™ืจื•ืช ืžื”ื“ืคื“ืคืŸ/ืžื›ืฉื™ืจ ื ื™ื™ื“/ื•ื›ื•' ืœืœื ืื™ืžื•ืช.

ื”ืชื—ืœื” ืžื”ื™ืจื” Internal Link

ืฉื™ืžื•ืฉ ื‘-APIs ืžืื•ืžืชื™ื (DefaultApi)

Important: ืขืœื™ืš ืœื”ื’ื“ื™ืจ ืืช ื”-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) {
        // ืฆื•ืจ ื•ืงื ืคื’ ืืช ApiClient
        ApiClient apiClient = new ApiClient();

        // REQUIRED: ืงื‘ืข ืืช ื”-API key ืฉืœืš (ืงื‘ืœ ืื•ืชื• ืžืœื•ื— ื”ื‘ืงืจื” ืฉืœ FastComments)
        apiClient.setApiKey("YOUR_API_KEY_HERE");

        // ืฆื•ืจ ืืช ืžื•ืคืข ื”-API ืขื ื”-ApiClient ืฉื”ื•ื’ื“ืจ
        DefaultApi api = new DefaultApi(apiClient);

        // ืขื›ืฉื™ื• ืืชื” ื™ื›ื•ืœ ืœื‘ืฆืข ืงืจื™ืื•ืช API ืžืื•ืžืชื•ืช
        try {
            // Example: Add an SSO user
            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: ืื™ืžื•ืช ื”ื‘ืงืฉื” ื ื›ืฉืœ
        }
    }
}

ืฉื™ืžื•ืฉ ื‘-APIs ืฆื™ื‘ื•ืจื™ื™ื (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();
}

ื‘ืขื™ื•ืช ื ืคื•ืฆื•ืช

  1. 401 "missing-api-key" error: ื•ื“ื ืฉืืชื” ืงื•ืจื ืœ-apiClient.setApiKey("YOUR_KEY") ืœืคื ื™ ื™ืฆื™ืจืช ื”ืžื•ืคืข ืฉืœ DefaultApi.
  2. ืžื—ืœืงืช API ืฉื’ื•ื™ื”: ื”ืฉืชืžืฉ ื‘-DefaultApi ืขื‘ื•ืจ ื‘ืงืฉื•ืช ืžืื•ืžืชื•ืช ื‘ืฆื“ ื”ืฉืจืช, ื•ื‘-PublicApi ืขื‘ื•ืจ ื‘ืงืฉื•ืช ื‘ืฆื“ ื”ืœืงื•ื—/ืฆื™ื‘ื•ืจื™ื•ืช.
  3. Null API key: ื”-SDK ื™ืชืขืœื ื‘ืฉืงื˜ ืžืื™ืžื•ืช ืื ื”-API key ื”ื•ื null, ืžื” ืฉื™ื•ื‘ื™ืœ ืœืฉื’ื™ืื•ืช 401.

ื”ืขืจื•ืช Internal Link

ืžื–ื”ื™ ืฉื™ื“ื•ืจ

ืชืฉื™ืžื• ืœื‘ ืฉืขืœื™ื›ื ืœื”ืขื‘ื™ืจ broadcastId ื‘ื—ืœืง ืžืงืจื™ืื•ืช ื”ึพAPI. ื›ืฉืืชื ืžืงื‘ืœื™ื ืื™ืจื•ืขื™ื, ืชืงื‘ืœื• ื—ื–ืจื” ืืช ื”ืžื–ื”ื” ื”ื–ื”, ื›ืš ืฉืชื“ืขื• ืœื”ืชืขืœื ืžื”ืื™ืจื•ืข ืื ืืชื ืžืชื›ื ื ื™ื ืœื”ื—ื™ืœ ืฉื™ื ื•ื™ื™ื ื‘ืฆื“ ื”ืœืงื•ื— ื‘ืื•ืคืŸ ืื•ืคื˜ื™ืžื™ืกื˜ื™ (ืžื” ืฉืกื‘ื™ืจ ืฉืชืจืฆื• ืœืขืฉื•ืช ืžืื—ืจ ืฉื–ื” ืžืฆื™ืข ืืช ื—ื•ื•ื™ื™ืช ื”ืžืฉืชืžืฉ ื”ื˜ื•ื‘ื” ื‘ื™ื•ืชืจ). ื”ืขื‘ื™ืจื• ื›ืืŸ UUID. ื”ืžื–ื”ื” ืฆืจื™ืš ืœื”ื™ื•ืช ื™ื™ื—ื•ื“ื™ ืžืกืคื™ืง ื›ื“ื™ ืฉืœื ื™ื•ืคื™ืข ืคืขืžื™ื™ื ื‘ืื•ืชื• ืกืฉืŸ ื‘ื“ืคื“ืคืŸ.

ื–ืงื•ืงื™ื ืœืขื–ืจื”?

ืื ื ืชืงืœืชื ื‘ื‘ืขื™ื•ืช ืื• ืฉื™ืฉ ืœื›ื ืฉืืœื•ืช ื‘ื ื•ื’ืข ืœ-SDK ืฉืœ Java, ื ื:

ืชืจื•ืžื•ืช

ืชืจื•ืžื•ืช ืจืฆื•ื™ื•ืช! ืื ื ื‘ืงืจื• ื‘-ืžืื’ืจ GitHub ืœืงื‘ืœืช ื”ื ื—ื™ื•ืช ืœืชืจื•ืžื”.