抖音内容安全检测接口

检测一段文本是否包含违法违规内容

官方文档地址:
官方文档

直接上代码流程:
控制器代码:

        $zijie = new Zijie();
        //检测回复内容 是否合规
        $content = $zijie->contentTesting($content);
        if ($content == false) {
            return $this->error('评论内容包含敏感信息,请修改',[],401);
            // return $this->error('评论内容包含敏感信息,请修改');
        }

Zijie类代码

<?php

namespace App\Apis\Microapp;

use App\Apis\BaseApi;
use Illuminate\Http\Client\Response;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\Storage;
use Johnnylib\AliyunSls\Facades\Sls;

class Zijie extends BaseApi implements Microapp
{

    protected $appid;
    protected $secret;
    protected $domain;

    /**
     * @var string $url 发起请求地址
     */
    protected $url;
    /**
     * @var array|string 请求信息
     */
    protected $param;

    public function __construct()
    {
        $this->appid = config("htknow.zijie_Microapp.appid");
        $this->secret = config("htknow.zijie_Microapp.secret");
        $this->domain = config("htknow.zijie_Microapp.domain");
    }

    /**
     * 获取小程序授权
     *
     * @return string
     */
    public function getToken(): string
    {
        $cache_data = Cache::get('tt_token');

        if (empty($cache_data) || $cache_data['expires_in'] <= time()) {
            $this->url = $this->domain . "/apps/token";
            $response = $this->checkResponse($this->get($this->url, ['appid' => $this->appid, 'secret' => $this->secret, 'grant_type' => 'client_credential']));



            $cache_data = ['token' => $response['access_token'] ?? '', 'expires_in' => time() + ($response['expires_in'] - 600)];
            Cache::put('tt_token', $cache_data, $response['expires_in']);
        }
        return $cache_data['token'] ?? '';
    }


    /**
     * 处理请求响应结果
     *
     * @param Response $response
     * @return array|bool
     */
    protected function checkResponse(Response $response)
    {
        //解析数据
        $data = $response->json();
        //判断接口返回内容 0是正确
        if (!isset($data['errcode'])) {
            return $data;
        }
        Sls::info('请求字节小程序服务端接口错误', ['url' => $this->url, 'param' => json_encode($this->param), 'run_data' => json_encode($data)]);
        return false;
    }

    /**
     * 抖音内容检测
     *
     * @param string $content 内容
     * @return bool|string
     */
    public function contentTesting(string $content)
    {
        if (empty($content)) return false;
        $article_content = strip_tags($content);
        //获取token
        $token = $this->getToken();
        if (empty($token)) return false;
        $this->url = $this->domain . "/v2/tags/text/antidirt";
        //请求抖音内容检测接口
        $response = $this->setHeaders(['X-Token' => $token])->post($this->url, ['tasks' => [['content' => $article_content]]]);
        $response_contnet = $this->checkResponse($response);
        //解析检测返回结果
        if (isset($response_contnet['log_id']) && !empty($response_contnet['data']) && !empty($response_contnet['data'][0]['predicts'][0])) {
            $predicts = $response_contnet['data'][0]['predicts'][0];
            if ($predicts['prob'] == 1) return false;
        }
        return $article_content;
    }
}

### 短链接生成及相关API SDK文档 提供了多种方式来生成短链接,这不仅有助于简化URL结构,还能提高用户体验并促进分享效果。以下是关于短链接生成的一些核心信息: #### 1. 短链接生成的意义 短链接的主要作用在于使原本冗长的URL变得更为简洁、易于传播,并能有效提升用户的点击意愿[^2]。 #### 2. 接口调用流程概述 为了实现短链接功能,开发者通常需要通过调用特定的API完成操作。以下是一个基本的接口调用逻辑描述: - **请求参数准备**:需提供原始长链接作为输入数据。 - **签名验证**:部分服务可能要求对请求进行加密处理以保障安全性。 - **发送HTTP POST 请求至指定端点**:例如 `https://api.douyin.com/rest/shorten` (假设地址)[^2]。 ```python import requests import json def generate_short_url(long_url, access_token): url = "https://api.douyin.com/rest/shorten" headers = { 'Content-Type': 'application/json', 'Authorization': f'Bearer {access_token}' } payload = { "long_url": long_url, } response = requests.post(url, data=json.dumps(payload), headers=headers) if response.status_code == 200: result = response.json() return result.get('data', {}).get('short_url') else: raise Exception(f"Error generating short URL: {response.text}") # Example usage try: short_url = generate_short_url("http://example.com", "your_access_token_here") print(short_url) except Exception as e: print(e) ``` 上述代码片段展示了如何利用Python脚本向服务器提交一个包含目标网址的数据包,并接收返回的结果——即压缩后的版本。 #### 3. 常见错误及其解决方案 当尝试区分不同小程序环境时发现单纯依赖于检测全局变量wx的存在与否无法准确识别具体运行在哪种平台上[^1]。因此建议采用更加可靠的手段比如检查User-Agent字符串或者借助官方提供的工具函数来进行判定。 #### 4. 安全性和权限管理注意事项 务必妥善保管好自己的应用密钥(access token),防止泄露给未经授权方;另外还要注意频率限制以免触发封禁机制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值