对接百度翻译API

2022-08-24 08:34:43 浏览数 (1)

最近有好多的词语大概几万吧, 需要翻译成英文的, 还不能直接都丢到百度翻译里面, 不然自己试一下~

注册百度账号

代码语言:javascript复制
http://api.fanyi.baidu.com/api/trans/product/desktop?req=developer

完善个人开发者信息

引入Hutool工具库

代码语言:javascript复制
<dependency>
  <groupId>cn.hutool</groupId>
  <artifactId>hutool-all</artifactId>
  <version>5.7.5</version>
</dependency>

复制工具类

代码语言:javascript复制
package com.jd.knowledgeextractionplatform.xmind.model;

import cn.hutool.crypto.SecureUtil;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONObject;
import com.jd.knowledgeextractionplatform.utils.JacksonUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;

import java.util.HashMap;
import java.util.Locale;
import java.util.Map;

@Component
public class BaiDuApi {
    // 对接的api为百度翻译
    private static final String TRANS_API_HOST = "http://api.fanyi.baidu.com/api/trans/vip/translate";

    private static String appid = "20220726001284033";

    private static String securityKey = "TB_WbVfZve00jrwvY0VM";

    // 发送查询
    private static String getTranslateResult(String query, String from, String to) {
        Map<String, Object> params = new HashMap<>();
        params.put("q", query);
        params.put("from", from);
        params.put("to", to);
        params.put("appid", appid);
        // 随机数
        String salt = String.valueOf(System.currentTimeMillis());
        params.put("salt", salt);
        // 签名
        String src = appid   query   salt   securityKey; // 加密前的原文
        params.put("sign", SecureUtil.md5(src));
        return HttpUtil.get(TRANS_API_HOST, params);
    }

    public static String convertToEn(String query){
        String translateResult = getTranslateResult(query, "auto", "en");
        JSONObject jsonObject = JSONObject.parseObject(translateResult);
        String string = jsonObject.getJSONArray("trans_result").getJSONObject(0).getString("dst");
        return string.toLowerCase(Locale.ROOT).replaceAll(" ", "_");
    }
    public static void main(String[] args) {
        String translateResult = convertToEn("苹果");
        System.out.println(translateResult);
    }
}

填入AppId和SecurityKey

首页开通通用翻译服务

不然会报认证失败

执行翻译

代码语言:javascript复制
apple

注册百度账号

完善个人开发者信息

百度

十六夜之彼岸舞

开发者信息

用量调整为100万字符/月查看详节反省

退出

引入Hutool工具库

复制工具类

填入AppId和SecurityKey

开发者中心

申请信息

密钥重置

注销账号

APPID:

总览

密钥

开发者信息

财务中心

基本信息

查看我的认证

切换至企业开发者

修改基本信息

财务总览

开发者类型:

您的姓名

我的发票

联系邮箱:

开票管理

手机号码:

首页开通通用翻译服务

不然会报认证失败

执行翻译

XML

代码语言:javascript复制
apple

0 人点赞