全部产品
Search
文档中心

Content Moderation:Panduan Integrasi SDK Moderasi Teks 2.0 PLUS

更新时间:Oct 25, 2025

Topik ini menjelaskan cara mengintegrasikan SDK layanan Moderasi Teks 2.0 PLUS.

Langkah 1: Aktifkan layanan

Kunjungi halaman Aktifkan Layanan untuk mengaktifkan layanan Moderasi Teks 2.0.

Setelah mengaktifkan layanan Moderasi Teks 2.0, metode penagihan default adalah bayar sesuai penggunaan. Anda akan dikenakan biaya berdasarkan penggunaan harian. Jika tidak menggunakan layanan, Anda tidak akan dikenakan biaya. Sistem menagih secara otomatis berdasarkan penggunaan setelah Anda mulai menggunakan API.

Langkah 2: Berikan izin kepada pengguna RAM

Sebelum memanggil SDK atau API, Anda perlu memberikan izin kepada Pengguna Resource Access Management (RAM). Anda dapat membuat Pasangan Kunci Akses untuk Akun Alibaba Cloud Anda atau Pengguna RAM. Saat memanggil API Alibaba Cloud, Anda memerlukan Kunci Akses untuk verifikasi identitas. Untuk informasi lebih lanjut tentang cara mendapatkan Kunci Akses, lihat Dapatkan Kunci Akses.

Prosedur

  1. Masuk ke Konsol RAM sebagai administrator RAM.

  2. Buat Pengguna RAM.

    Untuk informasi lebih lanjut, lihat Buat Pengguna RAM.

  3. Berikan kebijakan sistem AliyunYundunGreenWebFullAccess kepada Pengguna RAM.

    Untuk informasi lebih lanjut, lihat Berikan Izin kepada Pengguna RAM.

    Setelah menyelesaikan operasi sebelumnya, Anda dapat memanggil API Moderasi Konten sebagai Pengguna RAM.

Langkah 3: Instal dan integrasikan SDK

Wilayah berikut saat ini didukung untuk integrasi:

Wilayah

Titik akhir publik

Titik akhir VPC

Layanan yang didukung

Singapura

green-cip.ap-southeast-1.aliyuncs.com

green-cip-vpc.ap-southeast-1.aliyuncs.com

comment_multilingual_pro_global

Inggris (London)

https://green-cip.eu-west-1.aliyuncs.com

Tidak tersedia

AS (Virginia)

green-cip.us-east-1.aliyuncs.com

green-cip-vpc.us-east-1.aliyuncs.com

AS (Silicon Valley)

green-cip.us-west-1.aliyuncs.com

Tidak tersedia

Jerman (Frankfurt)

green-cip.eu-central-1.aliyuncs.com

Tidak tersedia

Catatan

Jika Anda memerlukan kode contoh SDK dalam bahasa pemrograman lain, Anda dapat menggunakan alat debugging online OpenAPI Explorer untuk men-debug operasi API. Alat ini secara otomatis menghasilkan kode contoh SDK untuk operasi API yang sesuai.

Dalam kode SDK Alibaba Cloud, Anda dapat membuat kredensial akses default dengan mendefinisikan Variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET. Saat memanggil operasi API layanan Alibaba Cloud, sistem langsung mengakses kredensial, membaca pasangan Kunci Akses Anda, dan kemudian secara otomatis menyelesaikan otentikasi. Sebelum menggunakan kode contoh SDK, Anda harus mengonfigurasi variabel lingkungan. Untuk informasi lebih lanjut, lihat Konfigurasikan Kredensial.

SDK tersedia dalam dua versi layanan. Kami merekomendasikan Anda untuk langsung mengintegrasikan layanan PLUS yang dijelaskan pada halaman ini. Jika sebelumnya Anda mengintegrasikan layanan umum, lihat Panduan Integrasi SDK dan Layanan Umum Moderasi Teks Enhanced 2.0.

Layanan Moderasi Teks 2.0 PLUS

SDK ini sesuai dengan operasi API berikut: Layanan Moderasi Teks Enhanced 2.0 Multibahasa PLUS.

Java SDK

Java 1.8 dan versi lebih baru didukung.

Untuk kode sumber, lihat Kode Sumber Java SDK atau Kode Sumber Java SDK (jalur OSS).

Tambahkan dependensi berikut ke file pom.xml untuk menggunakan SDK dalam proyek Maven.

1. Tambahkan dependensi berikut ke bagian dependensi.

<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>green20220302</artifactId>
  <version>2.2.11</version>
</dependency>

2. Contoh kode SDK Java untuk integrasi.

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.aliyun.green20220302.Client;
import com.aliyun.green20220302.models.TextModerationPlusRequest;
import com.aliyun.green20220302.models.TextModerationPlusResponse;
import com.aliyun.green20220302.models.TextModerationPlusResponseBody;
import com.aliyun.teaopenapi.models.Config;


public class TextModerationPlusDemo {

    public static void main(String[] args) throws Exception {
        Config config = new Config();
        /**
         * Kunci Akses akun Alibaba Cloud memiliki izin pada semua operasi API. Menggunakan Kunci Akses akun Alibaba Cloud untuk akses API sangat berisiko. Kami merekomendasikan Anda menggunakan Pengguna RAM untuk akses API atau O&M.
         * Metode umum untuk mendapatkan variabel lingkungan:
         * Metode 1:
         *     Dapatkan ID Kunci Akses Pengguna RAM: System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
         *     Dapatkan rahasia Kunci Akses Pengguna RAM: System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
         * Metode 2:
         *     Dapatkan ID Kunci Akses Pengguna RAM: System.getProperty("ALIBABA_CLOUD_ACCESS_KEY_ID");
         *     Dapatkan rahasia Kunci Akses Pengguna RAM: System.getProperty("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
         */
        config.setAccessKeyId("Kami merekomendasikan Anda mendapatkan ID Kunci Akses Pengguna RAM dari variabel lingkungan");
        config.setAccessKeySecret("Kami merekomendasikan Anda mendapatkan rahasia Kunci Akses Pengguna RAM dari variabel lingkungan");
        //Ubah wilayah dan titik akhir sesuai kebutuhan
        config.setRegionId("ap-southeast-1");
        config.setEndpoint("green-cip.ap-southeast-1.aliyuncs.com");
        //Periode timeout baca dalam milidetik (ms).
        config.setReadTimeout(6000);
        //Periode timeout koneksi dalam milidetik (ms).
        config.setConnectTimeout(3000);
        //Atur proxy HTTP.
        //config.setHttpProxy("http://xx.xx.xx.xx:xxxx");
        //Atur proxy HTTPS.
        //config.setHttpsProxy("https://xx.xx.xx.xx:xxxx");
        Client client = new Client(config);

        JSONObject serviceParameters = new JSONObject();
        serviceParameters.put("content", "Isi teks uji");

        TextModerationPlusRequest textModerationPlusRequest = new TextModerationPlusRequest();
        // Jenis deteksi
        textModerationPlusRequest.setService("comment_multilingual_pro_global");
        textModerationPlusRequest.setServiceParameters(serviceParameters.toJSONString());

        try {
            TextModerationPlusResponse response = client.textModerationPlus(textModerationPlusRequest);
            if (response.getStatusCode() == 200) {
                TextModerationPlusResponseBody result = response.getBody();
                System.out.println(JSON.toJSONString(result));
                System.out.println("requestId = " + result.getRequestId());
                System.out.println("code = " + result.getCode());
                System.out.println("msg = " + result.getMessage());
                Integer code = result.getCode();
                if (200 == code) {
                    TextModerationPlusResponseBody.TextModerationPlusResponseBodyData data = result.getData();
                    System.out.println(JSON.toJSONString(data, true));
                } else {
                    System.out.println("moderasi teks tidak berhasil. code:" + code);
                }
            } else {
                System.out.println("respons tidak berhasil. status:" + response.getStatusCode());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Python SDK

Python 3.6 dan versi lebih baru didukung.

Untuk kode sumber, lihat Kode Sumber Python SDK.

1. Jalankan perintah berikut untuk mengimpor dependensi.

pip install alibabacloud_green20220302==2.2.11

2. Contoh kode SDK Python untuk integrasi.

# coding=utf-8
# versi python >= 3.6
from alibabacloud_green20220302.client import Client
from alibabacloud_green20220302 import models
from alibabacloud_tea_openapi.models import Config
import json

config = Config(
    # Kunci Akses akun Alibaba Cloud memiliki izin pada semua operasi API. Menggunakan Kunci Akses akun Alibaba Cloud untuk akses API sangat berisiko. Kami merekomendasikan Anda menggunakan Pengguna RAM untuk akses API atau O&M.
    # Kami sangat merekomendasikan agar Anda tidak menyimpan ID Kunci Akses dan rahasia Kunci Akses dalam kode Anda. Jika tidak, Kunci Akses Anda mungkin bocor, yang mengancam keamanan semua sumber daya di bawah akun Anda.
    # Metode umum untuk mendapatkan variabel lingkungan:
    # Dapatkan ID Kunci Akses Pengguna RAM: os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID']
    # Dapatkan rahasia Kunci Akses Pengguna RAM: os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
    access_key_id='Kami merekomendasikan Anda mendapatkan ID Kunci Akses Pengguna RAM dari variabel lingkungan',
    access_key_secret='Kami merekomendasikan Anda mendapatkan rahasia Kunci Akses Pengguna RAM dari variabel lingkungan',
    # Periode timeout koneksi dalam milidetik (ms)
    connect_timeout=10000,
    # Periode timeout baca dalam milidetik (ms)
    read_timeout=3000,
    region_id='ap-southeast-1',
    endpoint='green-cip.ap-southeast-1.aliyuncs.com'
)

clt = Client(config)

serviceParameters = {
    'content': 'Isi teks uji'
}
textModerationPlusRequest = models.TextModerationPlusRequest(
    # Jenis deteksi
    service='comment_multilingual_pro_global',
    service_parameters=json.dumps(serviceParameters)
)

try:
    response = clt.text_moderation_plus(textModerationPlusRequest)
    if response.status_code == 200:
        # Panggilan berhasil
        result = response.body
        print('respons berhasil. hasil:{}'.format(result))
    else:
        print('respons tidak berhasil. status:{} ,hasil:{}'.format(response.status_code, response))
except Exception as err:
    print(err)

PHP SDK

PHP 5.6 dan versi lebih baru didukung.

Untuk kode sumber, lihat Kode Sumber PHP SDK.

1. Jalankan perintah berikut untuk mengimpor dependensi.

composer require alibabacloud/green-20220302 2.2.10

2. Contoh kode SDK PHP untuk integrasi.

<?php
require('vendor/autoload.php');

use AlibabaCloud\SDK\Green\V20220302\Models\TextModerationPlusRequest;
use AlibabaCloud\Tea\Exception\TeaUnableRetryError;
use Darabonba\OpenApi\Models\Config;
use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;
use AlibabaCloud\SDK\Green\V20220302\Green;

$config = new Config([
    /**
     * Kunci Akses akun Alibaba Cloud memiliki izin pada semua operasi API. Menggunakan Kunci Akses akun Alibaba Cloud untuk akses API sangat berisiko. Kami merekomendasikan Anda menggunakan Pengguna RAM untuk akses API atau O&M.
     * Kami sangat merekomendasikan agar Anda tidak menyimpan ID Kunci Akses dan rahasia Kunci Akses dalam kode Anda. Jika tidak, Kunci Akses Anda mungkin bocor, yang mengancam keamanan semua sumber daya di bawah akun Anda.
     * Metode umum untuk mendapatkan variabel lingkungan:
     * Dapatkan ID Kunci Akses Pengguna RAM: getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
     * Dapatkan rahasia Kunci Akses Pengguna RAM: getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
     */
    "accessKeyId" => 'Kami merekomendasikan Anda mendapatkan ID Kunci Akses Pengguna RAM dari variabel lingkungan',
    "accessKeySecret" => 'Kami merekomendasikan Anda mendapatkan rahasia Kunci Akses Pengguna RAM dari variabel lingkungan',
    // Atur proxy HTTP.
    // "httpProxy" => "http://10.10.xx.xx:xxxx",
    // Atur proxy HTTPS.
    // "httpsProxy" => "https://10.10.xx.xx:xxxx",
    "endpoint" => "green-cip.ap-southeast-1.aliyuncs.com",
    "regionId" => "ap-southeast-1"

]);
// Catatan: Gunakan kembali klien yang diinstansiasi sebanyak mungkin untuk menghindari pembuatan koneksi berulang dan meningkatkan kinerja deteksi.
$client = new Green($config);

$request = new TextModerationPlusRequest();
$request->service = "comment_multilingual_pro_global";
$serviceParameters = array("content" => "Isi teks uji");

$request->serviceParameters = json_encode($serviceParameters);

$runtime = new RuntimeOptions();
$runtime->readTimeout = 6000;
$runtime->connectTimeout = 3000;

try {
    $response = $client->textModerationPlusWithOptions($request, $runtime);
    print_r($response->body);
    if (200 != $response->statusCode) {
        print_r("respons tidak berhasil. code:" . $response->statusCode);
        return;
    }
    $body = $response->body;
    print_r("requestId = " . $body->requestId . "\n");
    print_r("code = " . $body->code . "\n");
    print_r("message = " . $body->message . "\n");
    if (200 != $body->code) {
        print_r("moderasi teks tidak berhasil. code:" . $body->code);
    }
    $data = $body->data;
    print_r("data = " . json_encode($data));
} catch (TeaUnableRetryError $e) {
    var_dump($e->getMessage());
    var_dump($e->getErrorInfo());
    var_dump($e->getLastException());
    var_dump($e->getLastRequest());
}

Go SDK

1. Jalankan perintah berikut untuk mengimpor dependensi.

go git clone --branch v2.2.11 github.com/alibabacloud-go/green-20220302/v2

2. Contoh kode SDK Go untuk integrasi.

package main

import (
	"encoding/json"
	"fmt"
	openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
	green20220302 "github.com/alibabacloud-go/green-20220302/v2/client"
	util "github.com/alibabacloud-go/tea-utils/v2/service"
	"github.com/alibabacloud-go/tea/tea"
	"net/http"
)

func main() {
	// Kebocoran kode dapat menyebabkan kebocoran Kunci Akses dan mengancam keamanan semua sumber daya di bawah akun Anda. Kode berikut hanya untuk referensi. Kami merekomendasikan Anda menggunakan pendekatan STS yang lebih aman.
	config := &openapi.Config{
		/**
		 * Kunci Akses akun Alibaba Cloud memiliki izin pada semua operasi API. Menggunakan Kunci Akses akun Alibaba Cloud untuk akses API sangat berisiko. Kami merekomendasikan Anda menggunakan Pengguna RAM untuk akses API atau O&M.
		 * Kami sangat merekomendasikan agar Anda tidak menyimpan ID Kunci Akses dan rahasia Kunci Akses dalam kode Anda. Jika tidak, Kunci Akses Anda mungkin bocor, yang mengancam keamanan semua sumber daya di bawah akun Anda.
		 * Metode umum untuk mendapatkan variabel lingkungan:
		 * Dapatkan ID Kunci Akses Pengguna RAM: os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
		 * Dapatkan rahasia Kunci Akses Pengguna RAM: os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
		 */
		AccessKeyId: tea.String("Kami merekomendasikan Anda mendapatkan ID Kunci Akses Pengguna RAM dari variabel lingkungan"),
		AccessKeySecret: tea.String("Kami merekomendasikan Anda mendapatkan rahasia Kunci Akses Pengguna RAM dari variabel lingkungan"),
		// Atur proxy HTTP.
		// HttpProxy: tea.String("http://xx.xx.xx.xx:xxxx"),
		// Atur proxy HTTPS.
		// HttpsProxy: tea.String("https://username:password@xxx.xxx.xxx.xxx:9999"),
		RegionId: tea.String("ap-southeast-1"),
		Endpoint: tea.String("green-cip.ap-southeast-1.aliyuncs.com"),
		/**
		 * Atur periode timeout. Periode timeout pemrosesan end-to-end di sisi server adalah 10 detik. Konfigurasikan periode timeout sesuai dengan itu.
		 * Jika Anda mengatur ReadTimeout ke nilai yang lebih kecil dari waktu yang diperlukan untuk pemrosesan di sisi server, program Anda akan menerima pengecualian ReadTimeout.
		 */
		ConnectTimeout: tea.Int(3000),
		ReadTimeout: tea.Int(6000),
	}
	client, _err := green20220302.NewClient(config)
	if _err != nil {
		panic(_err)
	}

	// Buat instance RuntimeObject dan atur parameter runtime.
	runtime := &util.RuntimeOptions{}
	runtime.ReadTimeout = tea.Int(10000)
	runtime.ConnectTimeout = tea.Int(10000)

	serviceParameters, _ := json.Marshal(
		map[string]interface{}{
			"content": "Isi teks uji",
		},
	)
	request := green20220302.TextModerationPlusRequest{
		Service: tea.String("comment_multilingual_pro_global"),
		ServiceParameters: tea.String(string(serviceParameters)),
	}

	result, _err := client.TextModerationPlusWithOptions(&request, runtime)
	if _err != nil {
		panic(_err)
	}

	if *result.StatusCode != http.StatusOK {
		fmt.Printf("respons tidak berhasil. status:%d\n", *result.StatusCode)
		return
	}
	body := result.Body
	fmt.Printf("respons berhasil. requestId:%s, code:%d, msg:%s\n", *body.RequestId, *body.Code, *body.Message)
	if *body.Code != http.StatusOK {
		fmt.Printf("moderasi teks tidak berhasil. code:%d\n", *body.Code)
		return
	}

	data := body.Data
	fmt.Printf("data moderasi teks:%s\n", *data)
}

Node.js SDK

Untuk kode sumber, lihat Kode Sumber Node.js SDK.

1. Jalankan perintah berikut untuk mengimpor dependensi.

npm install @alicloud/green20220302@2.2.10

2. Contoh kode SDK Node.js untuk integrasi.

const Green20220302 = require('@alicloud/green20220302');
const OpenApi = require('@alicloud/openapi-client');
const Util = require('@alicloud/tea-util');
// Catatan: Gunakan kembali klien yang diinstansiasi sebanyak mungkin untuk meningkatkan kinerja deteksi. Hindari membuat koneksi berulang.
// Kebocoran kode dapat menyebabkan kebocoran Kunci Akses dan mengancam keamanan semua sumber daya di bawah akun Anda. Kode berikut hanya untuk referensi.
class Client {
    static createClient() {
        const config = new OpenApi.Config({
            // Diperlukan. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID diatur dalam lingkungan tempat kode dijalankan.
            accessKeyId: process.env['ALIBABA_CLOUD_ACCESS_KEY_ID'],
            // Diperlukan. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET diatur dalam lingkungan tempat kode dijalankan.
            accessKeySecret: process.env['ALIBABA_CLOUD_ACCESS_KEY_SECRET'],
            endpoint: `green-cip.ap-southeast-1.aliyuncs.com`,
        });
        return new Green20220302.default(config);
    }

    static async main() {
        const client = Client.createClient();
        // Bangun objek permintaan
        const textModerationPlusRequest = new Green20220302.TextModerationPlusRequest({
            // Layanan deteksi Moderasi Teks Enhanced Plus, lihat: https://www.alibabacloud.com/help/document_detail/2684669.html#p-t7m-66g-cv6.
            "service": "comment_multilingual_pro_global",
            "serviceParameters": JSON.stringify({
                // Teks yang akan dideteksi. 
                "content": "Teks uji"})
            });
        // Buat objek konfigurasi runtime
        const runtime = new Util.RuntimeOptions();
        try {
            // Kirim permintaan dan dapatkan respons
            const response = await client.textModerationPlusWithOptions(textModerationPlusRequest, runtime);
            console.log(JSON.stringify(response.body));
        } catch (error) {
            // Ini hanya untuk tujuan tampilan. Tangani pengecualian dengan hati-hati dalam proyek Anda. Jangan abaikan pengecualian begitu saja.
            // Pesan kesalahan
            console.log('Terjadi kesalahan:', error.message);
        }
    }
}

Client.main();

C# SDK

Untuk kode sumber, lihat Kode Sumber C# SDK.

1. Jalankan perintah berikut untuk mengimpor dependensi.

dotnet add package AlibabaCloud.SDK.Green20220302 --version 2.2.10

2. Contoh kode SDK C# untuk integrasi.

// File ini dibuat otomatis, jangan edit. Terima kasih.
using Newtonsoft.Json;
namespace AlibabaCloud.SDK.Green20220302
{
    public class TextModerationPlusAutoRoute
    {
        public static void Main(string[] args)
        {
            /**
            * Kunci Akses akun Alibaba Cloud memiliki izin pada semua operasi API. Menggunakan Kunci Akses akun Alibaba Cloud untuk akses API sangat berisiko. Kami merekomendasikan Anda menggunakan Pengguna RAM untuk akses API atau O&M.
            * Kami sangat merekomendasikan agar Anda tidak menyimpan ID Kunci Akses dan rahasia Kunci Akses dalam kode Anda. Jika tidak, Kunci Akses Anda mungkin bocor, yang mengancam keamanan semua sumber daya di bawah akun Anda.
            * Metode umum untuk mendapatkan variabel lingkungan:
            * Dapatkan ID Kunci Akses Pengguna RAM: Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID")
            * Dapatkan rahasia Kunci Akses Pengguna RAM: Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
            */
            String accessKeyId = "Kami merekomendasikan Anda mendapatkan ID Kunci Akses Pengguna RAM dari variabel lingkungan";
            String accessKeySecret = "Kami merekomendasikan Anda mendapatkan rahasia Kunci Akses Pengguna RAM dari variabel lingkungan";
            // Ubah wilayah dan titik akhir sesuai kebutuhan
            String endpoint = "green-cip.ap-southeast-1.aliyuncs.com";
            //Catatan: Gunakan kembali klien yang diinstansiasi sebanyak mungkin untuk menghindari pembuatan koneksi berulang dan meningkatkan kinerja deteksi.
            Client client = createClient(accessKeyId, accessKeySecret, endpoint);
            // Pengaturan parameter runtime, hanya efektif untuk permintaan yang menggunakan instance parameter runtime ini
            AlibabaCloud.TeaUtil.Models.RuntimeOptions runtimeOptions =
                new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
            //Bangun permintaan deteksi teks.
            Models.TextModerationPlusRequest textModerationPlusRequest =
                new Models.TextModerationPlusRequest();
            //Contoh layanan deteksi Teks Plus: nickname_detection_pro
          	//Untuk layanan yang didukung, lihat: https://www.alibabacloud.com/help/document_detail/2684669.html#p-t7m-66g-cv6
          	textModerationPlusRequest.Service = "comment_multilingual_pro_global";
            Dictionary<string, object> task = new Dictionary<string, object>();
            task.Add(
                "content",
                "Teks uji"
            );
            textModerationPlusRequest.ServiceParameters = JsonConvert.SerializeObject(task);
            try
            {
                //Panggil API untuk mendapatkan hasil deteksi.
                Models.TextModerationPlusResponse response = client.TextModerationPlusWithOptions(
                    textModerationPlusRequest,
                    runtimeOptions
                );
                
                Console.WriteLine(response.Body.RequestId);
                Console.WriteLine(JsonConvert.SerializeObject(response.Body));
            }
            catch (Exception _err)
            {
                Console.WriteLine(_err);
            }
        }
        //Buat klien permintaan
        public static Client createClient(
            String accessKeyId,
            String accessKeySecret,
            String endpoint
        )
        {
            AlibabaCloud.OpenApiClient.Models.Config config =
                new AlibabaCloud.OpenApiClient.Models.Config
                {
                    AccessKeyId = accessKeyId,
                    AccessKeySecret = accessKeySecret,
                    //Atur proxy HTTP.
                    //HttpProxy = "http://10.10.xx.xx:xxxx",
                    //Atur proxy HTTPS.
                    //HttpsProxy = "https://username:password@xxx.xxx.xxx.xxx:9999",
                    //Titik akhir untuk diakses.
                    Endpoint = endpoint,
                };
            return new Client(config);
        }
    }
}

Panggilan HTTPS Asli

Layanan API Moderasi Konten 2.0 juga mendukung panggilan HTTPS asli. Pendekatan asli memerlukan pengguna untuk mengenkapsulasi penandatanganan mereka sendiri, dekripsi, dan perakitan permintaan (URL, Body, header, parameter). Biasanya hanya ada dua skenario di mana Anda harus menggunakan pendekatan HTTPS asli. Kecuali jika Anda berada dalam salah satu skenario khusus ini, kami merekomendasikan menggunakan pendekatan SDK.

  1. Penggunaan langsung dalam aplikasi dengan persyaratan tinggi terhadap ukuran klien.

  2. Persyaratan pustaka dependensi tertentu yang sulit ditingkatkan.

  • Call Method

    Alamat permintaan layanan: https://green-cip.{region}.aliyuncs.com

    Protokol: HTTPS

    Metode: POST

  • Common Request Parameters

    Parameter input untuk operasi API Moderasi Teks 2.0 mencakup parameter permintaan umum dan parameter permintaan API spesifik. Parameter permintaan umum adalah parameter yang digunakan setiap operasi API. Tabel berikut menjelaskan secara rinci parameter permintaan umum.

    Nama

    Tipe

    Diperlukan

    Deskripsi

    Format

    String

    Ya

    Format pesan yang dikembalikan. Nilai valid:

    • JSON (default)

    • XML

    Versi

    String

    Ya

    Versi API dalam format YYYY-MM-DD. Versi API ini adalah 2022-03-02.

    AccessKeyId

    String

    Ya

    ID AccessKey yang diterbitkan oleh Alibaba Cloud kepada pengguna untuk akses layanan.

    Signature

    String

    Ya

    String tanda tangan. Untuk informasi lebih lanjut tentang cara menghitung tanda tangan, lihat bagian metode tanda tangan di bawah ini.

    SignatureMethod

    String

    Ya

    Metode tanda tangan. HMAC-SHA1 didukung.

    Timestamp

    String

    Ya

    Waktu permintaan. Waktu menggunakan standar ISO 8601 dan waktu UTC. Formatnya adalah yyyy-MM-ddTHH:mm:ssZ. Sebagai contoh, 2022-12-12T01:13:14Z menunjukkan pukul 09:13:14 pada tanggal 12 Desember 2022 (UTC+8).

    SignatureVersion

    String

    Ya

    Versi algoritma tanda tangan. Atur nilainya menjadi 1.0.

    SignatureNonce

    String

    Ya

    Bilangan acak unik yang digunakan untuk mencegah serangan replay. Anda harus menggunakan bilangan acak yang berbeda untuk setiap permintaan.

    Action

    String

    Ya

    • API Teks Enhanced Plus: TextModerationPlus

  • Common Response Parameters

    Sistem mengembalikan ID permintaan unik (RequestId) untuk setiap permintaan API yang Anda kirim, terlepas dari apakah permintaan berhasil atau tidak. Parameter respons lainnya termasuk label dan confidence. Layanan yang berbeda mengembalikan parameter yang berbeda. Untuk informasi lebih lanjut, lihat dokumentasi untuk layanan spesifik tersebut.

  • Code Examples

    Contoh respons berikut diformat untuk keterbacaan. Hasil respons sebenarnya tidak diformat dengan jeda baris atau indentasi.

    Berikut adalah contoh permintaan untuk Moderasi Teks 2.0 -Pendeteksian Multibahasa Bisnis Internasional. Untuk operasi API lainnya, lihat dokumentasi API spesifik bisnis untuk parameter input:

    https://green-cip.ap-southeast-1.aliyuncs.com/ 
        ?Format=JSON
        &Version=2022-03-02
        &Signature=vpEEL0zFHfxXYzSFV0n7%2FZiFL9o%3D
        &SignatureMethod=Hmac-SHA1
        &SignatureNonce=15215528852396
        &SignatureVersion=1.0
        &Action=TextModerationPlus
        &AccessKeyId=123****cip
        &Timestamp=2022-12-12T12:00:00Z
        &Service=comment_multilingual_pro_global
        &ServiceParameters={"content": "Teks uji"}

    Berikut adalah contoh kode JSON dari parameter respons untuk Moderasi Teks 2.0 -Pendeteksian Multibahasa Bisnis Internasional:

    {
        "Code": 200,
        "Data": {
            "Result": [
                {
                    "Label": "political_entity",
                    "Description":"Diduga entitas politik",
                    "Confidence": 100.0,
                    "RiskWords": "Kata A,Kata B,Kata C"
                },
                {
                    "Label": "political_figure",
                    "Description":"Diduga tokoh politik",
                    "Confidence": 100.0,
                    "RiskWords": "Kata A,Kata B,Kata C"
                }
            ],
            "RiskLevel": "tinggi"
        },
        "Message": "OK",
        "RequestId": "AAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE****"
    }
  • Signature Method

    Layanan Moderasi Teks 2.0 mengotentikasi setiap permintaan akses. Oleh karena itu, setiap permintaan harus mencakup informasi tanda tangan. Layanan Moderasi Teks 2.0 menggunakan ID AccessKey dan Rahasia AccessKey untuk melaksanakan enkripsi simetris dan memverifikasi identitas pengirim permintaan.

    ID AccessKey dan Rahasia AccessKey secara resmi dikeluarkan kepada Anda oleh Alibaba Cloud (Anda dapat mengajukan dan mengelolanya di situs web Alibaba Cloud). ID AccessKey digunakan untuk mengidentifikasi pengguna. Rahasia AccessKey adalah kunci yang digunakan untuk mengenkripsi string tanda tangan dan memverifikasi string tanda tangan di server. Anda harus menjaga kerahasiaan Rahasia AccessKey Anda dengan ketat. Hanya Anda dan Alibaba Cloud yang mengetahuinya.

    Saat mengakses layanan, ikuti langkah-langkah berikut untuk menandatangani permintaan:

    1. Gunakan parameter permintaan untuk membuat string query yang sudah dikanonikalisasi.

      1. Urutkan semua parameter permintaan (termasuk parameter permintaan umum dan parameter khusus API, tetapi tidak termasuk parameter Signature) secara alfabetis.

      2. Enkode nama dan nilai parameter permintaan. Nama dan nilai harus di-enkode URL dalam UTF-8.

        Catatan

        Secara umum, perpustakaan enkode URL (seperti java.net.URLEncoder di Java) meng-enkode sesuai aturan jenis MIME application/x-www-form-urlencoded. Anda dapat langsung menggunakan metode ini untuk enkode, lalu ganti tanda plus (+) dengan %20, tanda bintang (*) dengan %2A,dan %7E dengan tilde (~) di string yang telah di-enkode untuk mendapatkan string yang sesuai dengan aturan di atas.

        Aturan enkode URL adalah sebagai berikut:

        • Karakter A-Z, a-z, 0-9, serta karakter tanda hubung (-), garis bawah (_), titik (.), dan tilde (~) tidak di-enkode.

        • Karakter lain di-enkode dalam format %XY, di mana XY adalah representasi heksadesimal dari kode ASCII karakter tersebut. Sebagai contoh, enkode untuk tanda kutip dua (") adalah %22.

        • Karakter UTF-8 yang diperluas di-enkode dalam format %XY%ZA….

        • Perlu dicatat bahwa karakter spasi ( ) harus di-enkode sebagai %20, bukan sebagai tanda plus (+).

      3. Hubungkan nama parameter dan nilai yang telah di-marshall dengan tanda sama dengan (=).

      4. Hubungkan string dengan tanda sama dengan dalam urutan abjad nama parameter menggunakan simbol & untuk membentuk string query yang sudah dikanonikalisasi.

    2. Gunakan string yang sudah dikanonikalisasi yang dibuat di langkah sebelumnya untuk membuat string penandatanganan sesuai dengan aturan berikut.

      StringToSign=
      HTTPMethod + "&" +
      percentEncode("/") + "&" +
      percentEncode(CanonicalizedQueryString)
      Catatan

      Di mana HTTPMethod adalah metode HTTP yang digunakan untuk mengirim permintaan, seperti POST. percentEncode (/) adalah nilai yang diperoleh dengan meng-enkode karakter (/) sesuai aturan enkode URL yang dijelaskan sebelumnya, yaitu %2F. percentEncode (CanonicalizedQueryString) adalah string yang diperoleh dengan meng-enkode string query yang sudah dikanonikalisasi sesuai aturan enkode URL yang dijelaskan sebelumnya.

    3. Menurut definisi dalam RFC2104, hitung nilai HMAC tanda tangan menggunakan string penandatanganan di atas.

      Catatan

      Catatan bahwa kunci yang digunakan untuk menghitung tanda tangan adalah Rahasia AccessKey pengguna dengan karakter & (ASCII: 38) ditambahkan ke akhirnya. Algoritma hash yang digunakan adalah SHA1.

    4. Enkode nilai HMAC di atas menjadi string sesuai aturan enkode Base64 untuk mendapatkan nilai tanda tangan (Signature).

    5. Tambahkan nilai tanda tangan yang diperoleh sebagai parameter Signature ke parameter permintaan untuk menyelesaikan proses penandatanganan permintaan.

      Catatan

      Saat mengirimkan nilai tanda tangan yang diperoleh sebagai nilai parameter permintaan akhir ke server Moderasi Konten, Anda harus meng-enkode URL sesuai aturan RFC3986, seperti parameter lainnya.