FastComments.com

FastComments Java SDK

यह FastComments का आधिकारिक Java SDK है।

अपने Java एप्लिकेशन से कमेंट्स, यूज़र्स, SSO और मॉडरेशन को प्रबंधित करें।

रिपॉज़िटरी

GitHub पर देखें

AI कोडिंग एजेंट Internal Link

skills.sh

अपने कोडिंग एजेंट को FastComments का वह संदर्भ दें जिसकी उसे आवश्यकता है - विजेट्स, कॉन्फ़िगरेशन, Secure SSO, REST API, और SDKs:

npx skills add fastcomments/skills

यह Claude Code, Codex, Cursor, Copilot, Gemini, और skills CLI द्वारा समर्थित हर अन्य एजेंट के साथ काम करता है।

इंस्टॉलेशन Internal Link

Maven

अपने प्रोजेक्ट के POM में Repsy रिपॉजिटरी जोड़ें:

<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>3.1.1</version>
    </dependency>
    
    <!-- Core Library (SSO शामिल है) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>core</artifactId>
        <version>3.1.1</version>
    </dependency>
    
    <!-- PubSub Library (लाइव इवेंट्स के लिए) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>pubsub</artifactId>
        <version>3.1.1</version>
    </dependency>
</dependencies>

Gradle

अपनी build.gradle फ़ाइल में Repsy रिपॉजिटरी जोड़ें:

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

dependencies {
    // API Client
    implementation "com.fastcomments:client:3.1.1"
    
    // Core Library (SSO शामिल है)
    implementation "com.fastcomments:core:3.1.1"
    
    // PubSub Library (लाइव इवेंट्स के लिए)
    implementation "com.fastcomments:pubsub:3.1.1"
}

लाइब्रेरी की सामग्री

इस लाइब्रेरी में तीन मॉड्यूल हैं। जेनरेट किया गया API क्लाइंट, कोर Java लाइब्रेरी जिसमें API के साथ काम करना आसान बनाने के लिए मैन्युअल रूप से लिखे गए यूटिलिटीज़ हैं, और pubsub मॉड्यूल जो चेंज फीड की सदस्यता लेने के लिए एक लाइब्रेरी है।

Public बनाम Secured APIs

API क्लाइंट में तीन क्लास हैं: DefaultApi, PublicApi, और ModerationApi। DefaultApi में वे मेथड हैं जिनके लिए आपकी API key आवश्यक है, और PublicApi में वे मेथड हैं जिन्हें बिना प्रमाणीकरण के सीधे ब्राउज़र/मोबाइल डिवाइस/आदि से कॉल किया जा सकता है।

ModerationApi लाइव और तेज़ मॉडरेशन APIs का एक व्यापक सूट प्रदान करता है। हर ModerationApi मेथड एक sso पैरामीटर स्वीकार करता है और SSO या FastComments.com सेशन कुकी के माध्यम से प्रमाणीकरण कर सकता है।

क्विक स्टार्ट Internal Link

प्रमाणित APIs (DefaultApi) का उपयोग करना

महत्वपूर्ण: प्रमाणित अनुरोध करने से पहले आपको ApiClient पर अपनी API key सेट करनी होगी। यदि आप ऐसा नहीं करते, तो अनुरोध 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 क्लाइंट बनाएं और कॉन्फ़िगर करें
        ApiClient apiClient = new ApiClient();

        // आवश्यक: अपनी API key सेट करें (यह अपने 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 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();
}

मॉडरेशन APIs (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" त्रुटि: सुनिश्चित करें कि आप DefaultApi इंस्टेंस बनाने से पहले apiClient.setApiKey("YOUR_KEY") कॉल करते हैं।
  2. गलत API क्लास: सर्वर-साइड प्रमाणित अनुरोधों के लिए DefaultApi और क्लाइंट-साइड/सार्वजनिक अनुरोधों के लिए PublicApi का उपयोग करें।
  3. Null API key: यदि API key null है तो SDK चुपचाप प्रमाणीकरण छोड़ देगा, जिससे 401 त्रुटियाँ होंगी।

नोट्स Internal Link

ब्रॉडकास्ट आईडी

आप देखेंगे कि कुछ API कॉल में broadcastId पास करना आवश्यक है। जब आप इवेंट प्राप्त करते हैं, तो आपको यह ID वापस मिलेगी, ताकि यदि आप क्लाइंट पर ऑप्टिमिस्टिक रूप से बदलाव लागू करने की योजना बनाते हैं (जो आप शायद करना चाहेंगे क्योंकि यह सबसे अच्छा अनुभव देता है), तो आप उस इवेंट को अनदेखा कर सकें। यहाँ एक UUID पास करें। ID इतनी अद्वितीय होनी चाहिए कि वह एक ब्राउज़र सत्र में दो बार न आए।

सहायता चाहिए?

यदि आपको Java SDK के बारे में कोई समस्या आती है या कोई प्रश्न है, तो कृपया:

योगदान देना

योगदान का स्वागत है! कृपया योगदान दिशानिर्देशों के लिए GitHub रिपॉजिटरी देखें।