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

Repsy deposunu projenizin POM'una 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.0.1</version>
    </dependency>
    
    <!-- Core Library (includes SSO) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>core</artifactId>
        <version>3.0.1</version>
    </dependency>
    
    <!-- PubSub Library (for live events) -->
    <dependency>
        <groupId>com.fastcomments</groupId>
        <artifactId>pubsub</artifactId>
        <version>3.0.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.0.1"
    
    // Core Library (includes SSO)
    implementation "com.fastcomments:core:3.0.1"
    
    // PubSub Library (for live events)
    implementation "com.fastcomments:pubsub:3.0.1"
}

Library Contents

Bu kütüphane üç modül içerir. Oluşturulan API istemcisi, API ile çalışmayı kolaylaştıran el yazısı yardımcı programları 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ü.

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çerirken, PublicApi kimlik doğrulama olmadan bir tarayıcı/mobil cihaz vb. üzerinden doğrudan yapılabilen yöntemleri içerir.

ModerationApi, canlı ve hızlı denetleme API'lerinin kapsamlı bir paketini sunar. Her ModerationApi yöntemi bir sso parametresi alır 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'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.