OSS content moderation

Updated at:

This topic describes how to use the .NET SDK for OSS content moderation.

Prerequisites

Before you begin, make sure you have:

  • Installed the .NET dependencies. See Install .NET dependencies and use the exact .NET version specified — otherwise operation calls will fail.

  • An AccessKey ID and AccessKey secret for a RAM user, stored as environment variables ALIBABA_CLOUD_ACCESS_KEY_ID and ALIBABA_CLOUD_ACCESS_KEY_SECRET.

Get OSS content moderation data

Use the following code sample to retrieve OSS content moderation data:

Note

The following code provides a basic example. For details about API parameters, see the OSS AI Guardrails API documentation.

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

namespace csharp_sdk_sample
{
    class Program
    {
        static void Main(string[] args)
        {
            /**
             * Common ways to get environment variables:
             *     Get the AccessKey ID of a Resource Access Management (RAM) user: Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID");
             *     Get the AccessKey secret of a RAM user: Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
             */
            DefaultProfile profile = DefaultProfile.GetProfile(
                    "cn-shanghai",
                    "Get the AccessKey ID of the RAM user from an environment variable",
                    "Get the AccessKey secret of the RAM user from an environment variable");
            DefaultAcsClient client = new DefaultAcsClient(profile);

            DescribeOssResultItemsRequest describeKeywordLibRequest = new DescribeOssResultItemsRequest();
            describeKeywordLibRequest.ResourceType = "VIDEO";
            describeKeywordLibRequest.Scene = "porn";
            describeKeywordLibRequest.Stock = false;
            describeKeywordLibRequest.StartDate = "2021-10-11 00:00:00 +0800";
            describeKeywordLibRequest.EndDate = "2021-10-12 15:00:53 +0800";
            try
            {
                DescribeOssResultItemsResponse describeOssResultItemsResponse = client.GetAcsResponse(describeKeywordLibRequest);
                Console.WriteLine(System.Text.Encoding.Default.GetString(describeOssResultItemsResponse.HttpResponse.Content));
            }
            catch (Exception ex)
            {
                Console.WriteLine("Failed with error info: {0}", ex.Message);
            }
        }
    }
}

Mark OSS moderation results

You can use this API to mark and manage OSS scan results. You can call this API to perform operations such as deleting content, marking content as normal, ignoring content, or unfreezing content.

Note

The following code provides a basic example. For details about API parameters, see the OSS AI Guardrails API.

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

namespace csharp_sdk_sample
{
    class Program
    {
        static void Main(string[] args)
        {
            /**
             * Common ways to get environment variables:
             *     Get the AccessKey ID of a RAM user: Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID");
             *     Get the AccessKey secret of a RAM user: Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
             */
            DefaultProfile profile = DefaultProfile.GetProfile(
                    "cn-shanghai",
                    "Get the AccessKey ID of the RAM user from an environment variable",
                    "Get the AccessKey secret of the RAM user from an environment variable");
            DefaultAcsClient client = new DefaultAcsClient(profile);

            MarkOssResultRequest markOssResultRequest = new MarkOssResultRequest();
            markOssResultRequest.ResourceType = "VIDEO";
            markOssResultRequest.Scene = "terrorism";
            markOssResultRequest.Stock = false;
            markOssResultRequest.Ids = JsonConvert.SerializeObject(new List<long> { 24930001L });
            markOssResultRequest.Operation = "ignore";
            try
            {
                MarkOssResultResponse markOssResultResponse = client.GetAcsResponse(markOssResultRequest);
                Console.WriteLine(System.Text.Encoding.Default.GetString(markOssResultResponse.HttpResponse.Content));
            }
            catch (Exception ex)
            {
                Console.WriteLine("Failed with error info: {0}", ex.Message);
            }
        }
    }
}

Export OSS content moderation results as a file

Use the following code sample to export OSS content moderation results as a file:

Note

The following code provides a basic example. For details about API parameters, see the OSS AI Guardrails API.

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

namespace csharp_sdk_sample
{
    class Program
    {
        static void Main(string[] args)
        {
            /**
             * Common ways to get environment variables:
             *     Get the AccessKey ID of a RAM user: Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID");
             *     Get the AccessKey secret of a RAM user: Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
             */
            DefaultProfile profile = DefaultProfile.GetProfile(
                    "cn-shanghai",
                    "Get the AccessKey ID of the RAM user from an environment variable",
                    "Get the AccessKey secret of the RAM user from an environment variable");
            DefaultAcsClient client = new DefaultAcsClient(profile);

            ExportOssResultRequest exportOssResultRequest = new ExportOssResultRequest();
            exportOssResultRequest.ResourceType = "VIDEO";
            exportOssResultRequest.Scene = "porn";
            exportOssResultRequest.Stock = false;
            exportOssResultRequest.StartDate = "2021-10-11 00:00:00 +0800";
            exportOssResultRequest.EndDate = "2021-10-12 15:00:53 +0800";
            try
            {
                ExportOssResultResponse exportOssResultResponse = client.GetAcsResponse(exportOssResultRequest);
                Console.WriteLine(System.Text.Encoding.Default.GetString(exportOssResultResponse.HttpResponse.Content));
            }
            catch (Exception ex)
            {
                Console.WriteLine("Failed with error info: {0}", ex.Message);
            }
        }
    }
}