java接入百度智能云机器翻译api
使用java接入百度翻译api,其实原本接入文档写的比较详细了,但是实际操作中还有一些小细节,所以这里写一个详细一点的版本。
一 打开百度智能云网站
https://cloud.baidu.com/
进行登陆注册,完成后需要完成实名认证,有银联的银行卡可以直接用卡认证,没有的话只能走人脸,可以用微信扫码
认证过程略
二 创建应用
进入控制台
在这里搜索机器翻译
点击立即使用(ps:这里的接入文档是有用的,这个界面先别关掉)
同意协议后,点创建应用里的去创建
选择这里的这两个(其他选项因为没有免费额度可以申请,所以不使用)
其他的参数随便填填
创建完成后,点应用详情,可以看到这里的api_key 和secret_key这两个是需要的
接下来点这里我们获取免费额度,没有免费额度是会报error_msg "Open api qps request limit reached"的
三 接入文档
打开刚刚提到的接入文档
如果已经关闭,点这里
可以任选通用版和词典版,这里以通用版为例
点击蓝色超链接
把下面网址中的api_key 和secret_key替换成你自己的
https://aip.baidubce.com/oauth/2.0/token?client_id=api_key&client_secret=secret_key&grant_type=client_credentials
然后通过浏览器打开访问
找到access_token,并复制
四 新建项目
回到文档,在这里选择Java,点击右边的复制按钮
新建普通maven项目
新建Demo.java并粘贴代码
注意!这里直接复制的话记得修改你的package路径
这个项目只需要下载第三第四个utils,idea按住ctrl点击即可下载,下载完成后,新建utils文件夹,把文件移入,删除原本的import语句,import utils.*;即可
由于我们使用了gson,所以我们还需要下载gson依赖,打开pom.xml,将下列代码复制进去,更新maven。
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version>
</dependency>
这里的值改成刚刚得到的accessToken值,只保留"" []记得也要删掉
当然,这里的token会过期,所以如果想每一次启动都要请求token的话可以看
刚刚获取accesstoken那边的文档,他也有给出实例代码
修改main函数里的代码,原来写的应该是人脸识别之类的函数,我们这边直接调用textTrans(),四个参数值文档也已经给出了,这里word是我scanner输入存放字符串的变量。
然后,就可以启动了
这里的输出是来自HttpUtils的这两段代码,如果不想要看这些红色字,可以选择注释掉,直接打印result也是可以的,但是如果想要更近一步,只输出中文意思就需要解析返回的json了,使用以下的代码就能实现。
JsonObject json = JsonParser.parseString(result).getAsJsonObject();
JsonObject resultObject = json.getAsJsonObject("result");
JsonArray transResultArray = resultObject.getAsJsonArray("trans_result");
JsonObject transResultObject = transResultArray.get(0).getAsJsonObject();
String dstValue = transResultObject.get("dst").getAsString();
System.out.println(q+"\t"+dstValue);
然后结合起来就是
至此,项目结束。