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


Kurulum Internal Link

Maven

Projenizin POM dosyasına Repsy deposunu 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 ihtiyaç duyduğunuz bağımlılıkları ekleyin:

<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

build.gradle dosyanıza Repsy deposunu ekleyin:

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"
}

Library Contents

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

Public vs Secured APIs

API istemcisi için üç sınıf vardır: DefaultApi, PublicApi ve ModerationApi. DefaultApi, API anahtarınızı gerektiren yöntemleri içerir ve PublicApi, tarayıcı/mobil cihaz vb. üzerinden kimlik doğrulama olmadan doğrudan yapılabilecek yöntemleri içerir.

ModerationApi moderatör panosunu besler. Yorum moderasyonu için yöntemler içerir (listeleme, sayma, arama, günlükler ve dışa aktarma), moderasyon eylemleri (kaldır/geri yükle, işaretleme, inceleme/spam/onay durumunu ayarlama, oylar ve konuyu yeniden aç/kapat), yasaklar (yoruma yasaklama, yasağı geri alma, ön-yasak özetleri, yasak durumu ve tercihleri ve yasaklı kullanıcı sayıları) ve rozetler & güven (rozet verme/kaldırma, manuel rozetler, güven faktörünü al/ayarla ve kullanıcının dahili profili). Her ModerationApi yöntemi, çağrının SSO ile kimlik doğrulaması yapılmış bir moderatör adına gerçekleştirilebilmesi için bir sso parametresi kabul eder.

Hızlı Başlangıç Internal Link

Kimlik Doğrulamalı API'leri Kullanma (DefaultApi)

Önemli: Kimlik doğrulamalı istekler yapmadan önce ApiClient üzerinde API anahtarınızı ayarlamanız gerekir. Ayarlamazsanız, istekler 401 hatası ile 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şturun ve yapılandırın
        ApiClient apiClient = new ApiClient();

        // ZORUNLU: API anahtarınızı ayarlayın (bunu FastComments kontrol panelinizden alın)
        apiClient.setApiKey("YOUR_API_KEY_HERE");

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

        // Artık kimlik doğrulamalı API çağrıları yapabilirsiniz
        try {
            // Örnek: Bir SSO kullanıcısı ekle
            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
        }
    }
}

Public API'leri Kullanma (PublicApi)

Genel uç noktalar kimlik doğrulama 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'lerini Kullanma (ModerationApi)

The ModerationApi drives the moderator dashboard. Each method accepts an sso parameter identifying the SSO-authenticated moderator on whose behalf the request is made:

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

ModerationApi moderationApi = new ModerationApi();

try {
    // Moderasyona alınmayı 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" error: DefaultApi örneğini oluşturmadan önce apiClient.setApiKey("YOUR_KEY") çağırdığınızdan emin olun.
  2. Wrong API class: Sunucu tarafı kimlik doğrulamalı istekler için DefaultApi'yi, istemci tarafı/genel istekler için PublicApi'yi kullanın.
  3. Null API key: API anahtarı null ise SDK kimlik doğrulamayı 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.