前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >对接百度翻译API

对接百度翻译API

作者头像
彼岸舞
发布2022-08-24 08:34:43
1.4K0
发布2022-08-24 08:34:43
举报
文章被收录于专栏:java开发的那点事

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

注册百度账号

代码语言: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
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-08-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 注册百度账号
  • 完善个人开发者信息
  • 引入Hutool工具库
  • 复制工具类
  • 填入AppId和SecurityKey
  • 首页开通通用翻译服务
  • 执行翻译
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档