zoukankan      html  css  js  c++  java
  • 微信小程序敏感内容检测

    获取access_token

    access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。

    在使用敏感文本接口和敏感图片接口都需要access_token参数,获取access_token接口为

    https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

    | 参数 | 是否必须 | 说明 |

    | grant_type | 是 | 此处为client_credential |

    | appid | 是 | 小程序的appid |

    | secret | 是 | 小程序的appsecret |

    正常返回结果

    {"access_token":"ACCESS_TOKEN","expires_in":7200}

    其他具体信息查看文档

    敏感文本检测

    这是接口基于https协议。开发者服务器可以调用此接口校验一段文本是否含有敏感信息。接口为

    https://api.weixin.qq.com/wxa/msg_sec_check?access_token=ACCESS_TOKEN

    | 参数 | 是否必须 | 说明 |

    | access_token | 是 | 接口凭证 |

    | content | 是 | 检测的文本内容 |

    正常返回结果

    {
        "errcode": "0",
        "errmsg": "ok"
    }

    当content内含有敏感信息,则返回87014

    {
        "errcode": 87014,
        "errmsg": "risky content"
    }

    其余错误见返回码说明

    {
        "errcode": 40001,
        "errmsg": "invalid credential, access_token is invalid or not latest"
    }

    示例代码

    wx.request({
        url: 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=your app id&secret=your secret',
        method: 'GET',
        success: res => {
            var access_token = res.data.access_token;
            wx.request({
                method: 'POST',
                url: `https://api.weixin.qq.com/wxa/msg_sec_check?access_token=${access_token}`,
                data: {
                    content: me.data.title
                },
                success(res) {
                    if (res.errcode !== 87014) {
                        // 合格
                    }
                }
            })
        },
        fail() {
            console.log(res);
        }
    })

    敏感图片检测

    这是接口基于HTTPS协议。开发者服务器可以调用此接口校验一张图片是否含有敏感信息。接口为

    https://api.weixin.qq.com/wxa/img_sec_check?access_token=ACCESS_TOKEN

    | 参数 | 是否必须 | 说明 |

    | access_token | 是 | 接口凭证 |

    | media | 是 | 图片文件,支持jpeg,jpg,png,gif,像素不超过750*1334 |

    正常返回结果

    {
        "errcode": "0",
        "errmsg": "ok"
    }

    当图片文件内含有敏感内容,则返回87014

    {
        "errcode": 87014,
        "errmsg": "risky content"
    }

    其余错误见返回码说明

    {
        "errcode": 40001,
        "errmsg": "invalid credential, access_token is invalid or not latest"
    }

    在使用图片接口时候,如以下示例

    let formData = new FormData();
    formData.append('file', file);
    wx.request({
      url: `https://api.weixin.qq.com/wxa/img_sec_check?access_token=${access_token}`,
      method: 'POST',
      data: {
        media: formData
      },
      success: res => {
        console.log(res);
      }
    })

    发现报错,百度了都说要PHP什么鬼

    {"errcode":41005,"errmsg":"media data missing hint: [UQNXoA04384524]"}

    最后发现解决方法是提交文件时候设置header头部信息'Content-Type': 'application/octet-stream',所以在请求的头部添加header配置即可

    wx.request({
        url: `https://api.weixin.qq.com/wxa/img_sec_check?access_token=${access_token}`,
        method: 'POST',
        header: {
            'Content-Type': 'application/octet-stream'
        },
        data: {
            media: formData
        },
        success: res => {
            console.log(res);  // {"errcode":0,"errmsg":"ok"}
        }
    })

    转载自:https://funteas.com/topic/5b0926d0a9f4524666d3109c

  • 相关阅读:
    转载一篇不错的Mac上安装Apache和多版本PHP的文章
    Mac 上配置tomcat 及可能碰到的问题。
    iOS通知中心 NSNotificationCenter详解
    字符缓冲区读取文件BufferedReader
    BufferedWriter—newLine
    缓冲流复制文件与基本流复制文件比较
    BufferedOutputStream缓冲流
    properties集合
    JDK7,JDK9流中异常的处理
    try-catch-finally处理流中的异常
  • 原文地址:https://www.cnblogs.com/lipengze/p/13292412.html
Copyright © 2011-2022 走看看