From b6acbaa0fc4dd8492aaccfe47cc502e24b202111 Mon Sep 17 00:00:00 2001 From: Sutra Zhou Date: Thu, 20 Feb 2020 19:43:48 +0800 Subject: [PATCH] Implement mediaCheckAsync. --- .../foxinmy/weixin4j/wxa/api/SecCheckApi.java | 18 +++++++++++++ .../weixin4j/wxa/api/WxaApiAsyncResult.java | 26 +++++++++++++++++++ .../weixin4j/wxa/api/weixin.properties | 3 +++ 3 files changed, 47 insertions(+) create mode 100644 weixin4j-wxa/src/main/java/com/foxinmy/weixin4j/wxa/api/WxaApiAsyncResult.java diff --git a/weixin4j-wxa/src/main/java/com/foxinmy/weixin4j/wxa/api/SecCheckApi.java b/weixin4j-wxa/src/main/java/com/foxinmy/weixin4j/wxa/api/SecCheckApi.java index 3a2714b6..0e023721 100644 --- a/weixin4j-wxa/src/main/java/com/foxinmy/weixin4j/wxa/api/SecCheckApi.java +++ b/weixin4j-wxa/src/main/java/com/foxinmy/weixin4j/wxa/api/SecCheckApi.java @@ -95,4 +95,22 @@ public class SecCheckApi extends TokenManagerApi { r.checkErrCode(); } + /** + * 异步校验图片/音频是否含有违法违规内容。 + * + * @param mediaUrl 要检测的多媒体 URL + * @param mediaType {@code 1}: 音频; {@code 2}: 图片 + * @return 任务 ID,用于匹配异步推送结果 + * @throws WeixinException indicates getting access token failed. + * @see security.mediaCheckAsync + */ + public String mediaCheckAsync(String mediaUrl, int mediaType) throws WeixinException { + final Map params = new HashMap(2); + params.put("media_url", mediaUrl); + params.put("media_type", mediaType); + final WxaApiAsyncResult r = this.post("wxa_media_check_async", params, WxaApiAsyncResult.TYPE_REFERENCE); + r.checkErrCode(); + return r.getTraceId(); + } + } diff --git a/weixin4j-wxa/src/main/java/com/foxinmy/weixin4j/wxa/api/WxaApiAsyncResult.java b/weixin4j-wxa/src/main/java/com/foxinmy/weixin4j/wxa/api/WxaApiAsyncResult.java new file mode 100644 index 00000000..0c3f015c --- /dev/null +++ b/weixin4j-wxa/src/main/java/com/foxinmy/weixin4j/wxa/api/WxaApiAsyncResult.java @@ -0,0 +1,26 @@ +package com.foxinmy.weixin4j.wxa.api; + +import com.alibaba.fastjson.TypeReference; + +class WxaApiAsyncResult extends WxaApiResult { + + private static final long serialVersionUID = 2020022001L; + + public static final TypeReference TYPE_REFERENCE + = new TypeReference() { + }; + + private String traceId; + + public WxaApiAsyncResult() { + } + + public String getTraceId() { + return traceId; + } + + public void setTraceId(String traceId) { + this.traceId = traceId; + } + +} diff --git a/weixin4j-wxa/src/main/resources/com/foxinmy/weixin4j/wxa/api/weixin.properties b/weixin4j-wxa/src/main/resources/com/foxinmy/weixin4j/wxa/api/weixin.properties index 3e869824..afc6991e 100644 --- a/weixin4j-wxa/src/main/resources/com/foxinmy/weixin4j/wxa/api/weixin.properties +++ b/weixin4j-wxa/src/main/resources/com/foxinmy/weixin4j/wxa/api/weixin.properties @@ -50,5 +50,8 @@ message_custom_typing={api_cgi_url}/message/custom/typing?access_token=%s # imgSecCheck wxa_img_sec_check={api_wxa_url}/img_sec_check?access_token=%s +# mediaCheckAsync +wxa_media_check_async={api_wxa_url}/media_check_async?access_token=%s + # msgSecCheck wxa_msg_sec_check={api_wxa_url}/msg_sec_check?access_token=%s