すべてのプロダクト
Search
ドキュメントセンター

AI Guardrails:顔の削除

最終更新日:Jan 08, 2025

このトピックでは、.NET SDK を使用して顔を削除する方法について説明します。

使用上の注意

顔を削除する場合は、削除する顔の ID と対応する人物 ID を指定する必要があります。パラメーターの詳細については、顔削除の API 操作 をご参照ください。

SDK を呼び出すには、コンテンツモデレーション API のエンドポイントを使用する必要があります。 API エンドポイントの詳細については、エンドポイント をご参照ください。

前提条件

コンテンツモデレーション SDK for .NET の依存関係がインストールされています。依存関係のインストール方法の詳細については、インストール をご参照ください。

説明

インストール トピックに記載されている必要な .NET バージョンを使用して、依存関係をインストールする必要があります。そうしないと、後続の操作呼び出しが失敗します。

顔削除タスクの送信

using System;
using Newtonsoft.Json;
using Aliyun.Acs.Core;
using Aliyun.Acs.Core.Http;
using Aliyun.Acs.Core.Profile;
using Aliyun.Acs.Green.Model.V20180509;
using System.Collections.Generic;

namespace csharp_sdk_sample
{
    class Program
    {
        static void Main(string[] args)
        {
            /**
             * 環境変数を取得する一般的な方法:
             *     RAM ユーザーの AccessKey ID を取得します: Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID");
             *     RAM ユーザーの AccessKey シークレットを取得します: Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
             */
            DefaultProfile profile = DefaultProfile.GetProfile(
                    "cn-shanghai",
                    "RAM ユーザーの AccessKey ID を環境変数から取得することをお勧めします",
                    "RAM ユーザーの AccessKey シークレットを環境変数から取得することをお勧めします");
            // 注:インスタンス化されたクライアントはできるだけ再利用することをお勧めします。これにより、モデレーションのパフォーマンスが向上し、クライアントの接続が繰り返されるのを回避できます。
            DefaultAcsClient client = new DefaultAcsClient(profile);

            DeleteFacesRequest request = new DeleteFacesRequest();
            request.AcceptFormat = FormatType.JSON;
            request.ContentType = FormatType.JSON;
            request.Method = MethodType.POST;
            request.Encoding = "UTF-8";

            /**
            * personId: カスタム人物の ID。このパラメーターは必須です。
            * faceIds: 追加される顔の ID。
            */
            Dictionary<string, object> httpBody = new Dictionary<string, object>();
            httpBody.Add("personId", "Person ID");
            httpBody.Add("faceIds", new List<string> { "Face ID_1", "Face ID_2" });

            request.SetContent(System.Text.Encoding.Default.GetBytes(JsonConvert.SerializeObject(httpBody)), "utf-8", FormatType.JSON);
            try
            {
                DeleteFacesResponse response = client.GetAcsResponse(request);


                if (response.HttpResponse.Status != 200)
                {
                    Console.WriteLine("リクエストが失敗しました。 status:{0}", response.HttpResponse.Status);
                }
                Console.WriteLine(System.Text.Encoding.Default.GetString(response.HttpResponse.Content));
            }
            catch (Exception ex)
            {
                Console.WriteLine("エラー情報で失敗しました: {0}", ex.Message);
            }
        }
    }
}