wordnik简介
它其实就是一个我们经常使用的词典,更准确来说是一本拥有强大题库的一个英文词典。它的词库很完善,提供了很多的接口,来供开发者使用,并且接入程序中,满足各种不同的需求。(包括 :解释,造句等等)。我使用到的地方,是由于我们公司开发的是一款word游戏,所以会有这个有关解释的入口,所以做了接入。
准备工作
- wordnik的官网地址:https://www.wordnik.com/
- 获得wordnik的开发者的apikey (这个key是所有开发工作的前提,需要在官网的dev-api入口进行注册申请,这个是免费的一般需要大概一周左右的时间会通过你注册的邮件发送给你)
- 也有收费的版本,价格如下。可以自行到官网查询。我理解的他的call就是一次请求。
- https://developer.wordnik.com/docs#/ 这个是它的文档,它的文档不是那种纯文字的解释文档,而是一些帮助你测试的一些http请求。
- 支持功能很多,可根据自己的需要选择:如图
- 如下图,你可以通过http请求来获得当前单词的发音: 左边填入你想要查询的单词,然后点击 “Try it out” 就会出现右边的结果,可以复制url并且把apikey换成自己的,就可以进行查询了。
unity使用
在unity中使用也很简单,就直接使用UnityWebRequest进行http请求就可以实现了。
IEnumerator GetWordAudio(string word)
{
string ApiKey=“your api key”;
String url=“https://api.wordnik.com/v4/word.json/“+word+"/audio?useCanonical=false&limit=50&api_key=”+Apikey;
UnityWebRequest webRequest = UnityWebRequest.Get(url);
yield return webRequest.SendWebRequest();
//异常处理,很多博文用了error!=null这是错误的,请看下文其他属性部分
if (webRequest.isHttpError||webRequest.isNetworkError)
Debug.Log(webRequest.error);
else
{
//得到结果进行解析 得到是json字符串
Debug.Log(webRequest.downloadHandler.text);
}
}
坑
- 请求速度不能过于频繁,连续请求次数过多,尤其是同一个单词,连续多次频繁请求就会报 “429”的错误
- 最好用到什么请求什么,请求下来的可以在本地临时存储
- 注意版权意识,需要在你展示的界面,标有wordnik的logo