一言(ヒトコト)Hitokoto API
Hitokoto API
更新:2014.02.22
问题/反馈:api # hitokoto.us
数据获取:[ 数据获取 ]
调用举例:[ JavaScript + HTML (同步) ] [ JavaScript + JSON CallBack (同步+异步调用两种) ]
点此看看哪些网站正在使用API
数据获取
- 请求地址http://api.hitokoto.us/rand
- SSLhttps://api.hitokoto.us:214/rand
- 请求方式GET
- 请求参数
- cat返回指定分类的一句话,如果为空则返回任意分类的一言。若请求参数包含uid,则cat对应cid
- charset字符集,支持gbk/utf-8,默认为utf-8
- length返回一句话的长度限制,超出则打断并添加省略号
- encode数据格式,对应如下
- json默认为此,返回JSON格式数据
- xml返回XML格式数据
- js返回函数名为hitokoto的JavaScript脚本,用于同步调用
- jsc返回指定CallBack函数名的JavaScript脚本,可用于异步调用
- fun用于异步调用时,指定CallBack的函数名,不可包含特殊字符
- uid获取“我的一言”
- mix同时在系统收录的“一言”和获取“我的一言”中随机,若需指定用户分类请使用ucat参数
- ucat配合mix参数使用,用于指定用户分类CID
- 实例
- 请求http://api.hitokoto.us/rand?cat=a&charset=utf-8
- 返回
-
{
id : "1318722783000",
hitokoto : "呐,知道么,樱花飘落的速度,是每秒五厘米哦~",
cat : "a",
catname : "动画",
author : "烤飞鱼的土豆",
source : "秒速五厘米",
like : "5",
date : "2011.10.15 23:53:03"
} - 参数说明
- id一言的ID,可以通过 http://hitokoto.us/view/{ID}.html 查看指定条目
- hitokoto一言的正文部分,不包含前后引号
- cat分类,对应关系如下
- aAnime - 动画
- bComic - 漫画
- cGame - 游戏
- dNovel - 小说
- e原创
- f来自网络
- g其他
- catname分类cat对应的名字
- author一言的投稿人
- source一言的出处,可能为空
- like一言的喜欢次数
- date一言的投稿日期
调用举例 - JavaScript + HTML
- 脚本地址http://api.hitokoto.us/rand?encode=js
- SSLhttps://api.hitokoto.us:214/rand?encode=js
- 使用方法
-
1. 将下面这段代码放入HTML页面的head标签内
<script type="text/javascript" src="http://api.hitokoto.us/rand?encode=js&charset=utf-8"></script>
2. 将下面这段代码放入页面内需要展示一句话的位置即可
<div id="hitokoto"><script>hitokoto()</script></div>
该脚本实质为document.write的脚本。
调用举例 - JavaScript + JSON CallBack
- 脚本地址http://api.hitokoto.us/rand?encode=jsc
- SSLhttps://api.hitokoto.us:214/rand?encode=jsc
- 使用方法
- 同步
-
1. 将下面这段代码放入HTML页面的head标签内
<script type="text/javascript" src="http://api.hitokoto.us/rand?encode=jsc&fun=sync"></script>
该脚本会与页面同步加载,加载成功后会自动调用指定的函数名,本实例中为sync,并将数据传递给该函数,提前定义该函数即刻达到接收并处理一言数据的目的。 - 异步
-
1. 将下面这段代码放入HTML页面的最底部
<script type="text/javascript">setTimeout(function(){var hjs=document.createElement('script');hjs.setAttribute('src','http://api.hitokoto.us/rand?encode=jsc&fun=async');document.body.appendChild(hjs);},100);</script>
通过setTimeout加载JavaScript脚本达到异步加载js脚本的目的,加载成功后会自动调用指定的函数名,本实例中为async,并将数据传递给该函数,提前定义该函数即刻达到接收并处理一言数据的目的。
网址:http://hitokoto.us/api.html