FastComments.com

FastComments Java SDK

Bu, FastComments için resmi Java SDK'sıdır.

FastComments API'si için resmi Java SDK

Depo

GitHub'da görüntüle

AI kodlama ajanları Internal Link

skills.sh

Kodlama ajanınıza FastComments bağlamını sağlayın - widget'lar, yapılandırma, Güvenli SSO, REST API ve SDK'lar:

npx skills add fastcomments/skills

Claude Code, Codex, Cursor, Copilot, Gemini ve skills CLI tarafından desteklenen diğer tüm ajanlarla çalışır.

Kurulum Internal Link

Maven

Repsy deposunu projenizin POM dosyasına ekleyin:

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

Ardından ihtiyacınız olan bağımlılıkları ekleyin:

<dependencies>
    <!-- API Client -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>client</artifactId>
        <version>3.1.1</version>
    </dependency>
    
    <!-- Core Library (SSO içerir) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>core</artifactId>
        <version>3.1.1</version>
    </dependency>
    
    <!-- PubSub Library (canlı etkinlikler için) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>pubsub</artifactId>
        <version>3.1.1</version>
    </dependency>
</dependencies>

Gradle

Repsy deposunu build.gradle dosyanıza ekleyin:

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

dependencies {
    // API Client
    implementation "com.fastcomments:client:3.1.1"
    
    // Core Library (SSO içerir)
    implementation "com.fastcomments:core:3.1.1"
    
    // PubSub Library (canlı etkinlikler için)
    implementation "com.fastcomments:pubsub:3.1.1"
}

Kütüphane İçeriği

Bu kütüphane üç modül içerir. Üretilmiş API istemcisi, API ile çalışmayı kolaylaştıran elle yazılmış yardımcı araçlar içeren çekirdek Java kütüphanesi ve değişiklik akışlarına abone olmak için bir kütüphane olan pubsub modülü.

Herkese Açık ve Güvenli API'ler

API istemcisi için üç sınıf vardır: DefaultApi, PublicApi ve ModerationApi. DefaultApi, API anahtarınızı gerektiren metotları içerir; PublicApi ise kimlik doğrulama olmadan doğrudan bir tarayıcıdan/mobil cihazdan vb. yapılabilecek metotları içerir.

ModerationApi, canlı ve hızlı moderasyon için kapsamlı bir API paketi sunar. Her ModerationApi metodu bir sso parametresi kabul eder ve SSO veya bir FastComments.com oturum çerezi aracılığıyla kimlik doğrulaması yapabilir.

Hızlı Başlangıç Internal Link

Kimlik Doğrulamalı API'lerin Kullanımı (DefaultApi)

Önemli: Kimlik doğrulamalı istekler yapmadan önce ApiClient üzerinde API anahtarınızı ayarlamanız gerekir. Aksi takdirde istekler 401 hatasıyla başarısız olur.

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 istemcisini oluştur ve yapılandır
        ApiClient apiClient = new ApiClient();

        // GEREKLİ: API anahtarınızı ayarlayın (bunu FastComments panonuzdan alın)
        apiClient.setApiKey("YOUR_API_KEY_HERE");

        // Yapılandırılmış istemci ile API örneğini oluştur
        DefaultApi api = new DefaultApi(apiClient);

        // Artık kimlik doğrulamalı API çağrıları yapabilirsiniz
        try {
            // Örnek: Bir SSO kullanıcısı ekleyin
            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());
            // Yaygın hatalar:
            // - 401: API anahtarı eksik veya geçersiz
            // - 400: İstek doğrulaması başarısız oldu
        }
    }
}

Genel API'lerin Kullanımı (PublicApi)

Herkese açık uç noktalar kimlik doğrulaması gerektirmez:

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

Moderasyon API'lerinin Kullanımı (ModerationApi)

ModerationApi, moderatör panelini yönetir. Her metot, isteğin yapıldığı SSO kimlik doğrulamalı moderatörü tanımlayan bir sso parametresi alır:

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

ModerationApi moderationApi = new ModerationApi();

try {
    // Moderasyon bekleyen yorumları listele
    ModerationAPIGetCommentsResponse response = moderationApi.getApiComments()
        .sso("YOUR_SSO_TOKEN")
        .execute();
    System.out.println(response);
} catch (ApiException e) {
    e.printStackTrace();
}

Yaygın Sorunlar

  1. 401 "missing-api-key" hatası: DefaultApi örneğini oluşturmadan önce apiClient.setApiKey("YOUR_KEY") çağrısını yaptığınızdan emin olun.
  2. Yanlış API sınıfı: Sunucu tarafı kimlik doğrulamalı istekler için DefaultApi, istemci tarafı/herkese açık istekler için PublicApi kullanın.
  3. Null API anahtarı: API anahtarı null ise SDK kimlik doğrulamasını sessizce atlar ve bu da 401 hatalarına yol açar.

Notlar Internal Link

Broadcast Kimlikleri

Bazı API çağrılarında bir broadcastId geçirmeniz gerektiğini göreceksiniz. Olayları aldığınızda bu ID size geri dönecek, böylece istemci tarafında değişiklikleri iyimserce uygulamayı planlıyorsanız olayı görmezden geleceğinizi bilirsiniz (muhtemelen en iyi deneyimi sağladığı için bunu yapmak isteyeceksiniz). Burada bir UUID gönderin. ID, bir tarayıcı oturumunda iki kez tekrar etmeyecek kadar benzersiz olmalıdır.

Yardıma mı ihtiyacınız var?

Java SDK ile ilgili herhangi bir sorunla karşılaşırsanız veya sorularınız olursa lütfen:

Katkıda Bulunma

Katkılar memnuniyetle karşılanır! Katkı yönergeleri için lütfen GitHub deposunu ziyaret edin.