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
Masuk ke Konsol RAM sebagai administrator RAM.
- Buat Pengguna RAM.
Untuk informasi lebih lanjut, lihat Buat Pengguna RAM.
- Berikan kebijakan sistem
AliyunYundunGreenWebFullAccesskepada 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 |
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.112. 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.102. 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/v22. 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.102. 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.102. 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.
Penggunaan langsung dalam aplikasi dengan persyaratan tinggi terhadap ukuran klien.
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:
Gunakan parameter permintaan untuk membuat string query yang sudah dikanonikalisasi.
Urutkan semua parameter permintaan (termasuk parameter permintaan umum dan parameter khusus API, tetapi tidak termasuk parameter Signature) secara alfabetis.
Enkode nama dan nilai parameter permintaan. Nama dan nilai harus di-enkode URL dalam UTF-8.
CatatanSecara 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 (+).
Hubungkan nama parameter dan nilai yang telah di-marshall dengan tanda sama dengan (=).
Hubungkan string dengan tanda sama dengan dalam urutan abjad nama parameter menggunakan simbol & untuk membentuk string query yang sudah dikanonikalisasi.
Gunakan string yang sudah dikanonikalisasi yang dibuat di langkah sebelumnya untuk membuat string penandatanganan sesuai dengan aturan berikut.
StringToSign= HTTPMethod + "&" + percentEncode("/") + "&" + percentEncode(CanonicalizedQueryString)CatatanDi 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.Menurut definisi dalam RFC2104, hitung nilai HMAC tanda tangan menggunakan string penandatanganan di atas.
CatatanCatatan 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.Enkode nilai HMAC di atas menjadi string sesuai aturan enkode Base64 untuk mendapatkan nilai tanda tangan (Signature).
Tambahkan nilai tanda tangan yang diperoleh sebagai parameter Signature ke parameter permintaan untuk menyelesaikan proses penandatanganan permintaan.
CatatanSaat 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.