All Products
Search
Document Center

Content Moderation:Query business scenarios

Last Updated:Jul 31, 2023

This topic describes how to use Content Moderation SDK for Java to query existing and custom business scenarios. This helps you manage business scenarios.

Prerequisites

  • Java dependencies are installed. For more information, see Installation.

    Note

    You must use the Java version described in the Installation topic to install the dependencies. Otherwise, subsequent operation calls fail.

  • The Extension.Uploader utility class is downloaded and imported into your project if you submit a local image or a binary image stream for image moderation.

Query business scenarios

Operation

Description

Supported region

DescribeUserBizTypes

Queries business scenarios.

  • cn-shanghai: China (Shanghai)

  • cn-beijing: China (Beijing)

  • cn-shenzhen: China (Shenzhen)

  • ap-southeast-1: Singapore

Sample code

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.green.model.v20170823.DescribeUserBizTypesRequest;
import com.aliyuncs.green.model.v20170823.DescribeUserBizTypesResponse;
import com.aliyuncs.green.model.v20170823.DescribeUserBizTypesResponse.Item;
import com.aliyuncs.http.FormatType;
import com.aliyuncs.http.HttpResponse;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;

/**
 * Use the following code to query business scenarios. 
 */
public class DescribeBizTypesRequestSample {

    public static void main(String[] args) throws Exception {
       /**
         * The AccessKey pair of an Alibaba Cloud account has permissions on all API operations. To avoid security risks, we recommend that you use a RAM user to call API operations or perform routine O&M.  
         * Common ways to obtain environment variables:
         * Method 1:
         *     Obtain the AccessKey ID of your RAM user: System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
         *     Obtain the AccessKey secret of your RAM user: System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
         * Method 2:
         *     Obtain the AccessKey ID of your RAM user: System.getProperty("ALIBABA_CLOUD_ACCESS_KEY_ID");
         *     Obtain the AccessKey secret of your RAM user: System.getProperty("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
         */
        DefaultProfile profile = DefaultProfile.getProfile(
                "cn-shanghai",
                "We recommend that you obtain the AccessKey ID of your RAM user from environment variables",
                "We recommend that you obtain the AccessKey secret of your RAM user from environment variables");
        DefaultProfile.addEndpoint("cn-shanghai", "Green", "green.cn-shanghai.aliyuncs.com");
        IAcsClient client = new DefaultAcsClient(profile);

        DescribeUserBizTypesRequest describeUserBizTypesRequest = new DescribeUserBizTypesRequest();
        // Specify the response format of the operation. 
        describeUserBizTypesRequest.setAcceptFormat(FormatType.JSON);
        // Specify the request method. 
        describeUserBizTypesRequest.setMethod(MethodType.GET);
        describeUserBizTypesRequest.setEncoding("utf-8");
        // Specify the connection timeout period. You can change the timeout period as needed. Unit: milliseconds. 
        describeUserBizTypesRequest.setConnectTimeout(3000);
        // Specify the read timeout period. You can change the timeout period as needed. Unit: milliseconds. 
        describeUserBizTypesRequest.setReadTimeout(6000);

        try {
            HttpResponse httpResponse = client.doAction(describeUserBizTypesRequest);
            // Check whether the HTTP request is successful. 
            if (httpResponse.isSuccess()) {

                DescribeUserBizTypesResponse describeUserBizTypesResponse = JSON.parseObject(new String(httpResponse.getHttpContent(), "UTF-8"), DescribeUserBizTypesResponse.class);
                // The list of all business scenarios. 
                System.out.println("query success. bizTypes size :" + describeUserBizTypesResponse.getBizTypeList().size());
                describeUserBizTypesResponse.getBizTypeList().iterator();
                if (describeUserBizTypesResponse.getBizTypeList() != null) {
                    for (Item bizTypeItem : describeUserBizTypesResponse.getBizTypeList()) {
                        // The name of the business scenario. 
                        System.out.println(bizTypeItem.getBizType());
                        // Indicates whether an industry template was imported. 
                        System.out.println(bizTypeItem.getCiteTemplate());
                        // The industry information. 
                        System.out.println(bizTypeItem.getIndustryInfo());
                        // Indicates how the business scenario was created. A value of custom indicates a custom business scenario. A value of system indicates the default business scenario of Content Moderation. 
                        System.out.println(bizTypeItem.getSource());
                    }
                }
                // When you create a business scenario, you can import the configuration of an existing business scenario in the obtained list. 
                System.out.println("query success. import bizTypes size :" + describeUserBizTypesResponse.getBizTypeList().size());
            } else {
                JSONObject scrResponse = JSON.parseObject(new String(httpResponse.getHttpContent(), "utf-8"));
                // Check the error message. 
                System.out.println("query fail. detail msg: " + JSON.toJSONString(scrResponse.get("Message"), true));
            }
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}