SanCi

一言(ヒトコト)Hitokoto API
Hitokoto API更新:2014.02.22问题/反馈:api # hitokoto.us数据获取:[ 数据...
扫描右侧二维码阅读全文
28
2014/09

一言(ヒトコト)Hitokoto API

Hitokoto API
更新:2014.02.22
问题/反馈:api # hitokoto.us
数据获取:[ 数据获取 ]
调用举例:[JavaScript + HTML(同步)] [JavaScript + JSON CallBack(同步+异步调用两种)]
点此看看哪些网站正在使用API

数据获取
请求地址 http://api.hitokoto.us/rand
SSL https://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 分类,对应关系如下
a Anime - 动画
b Comic - 漫画
c Game - 游戏
d Novel - 小说
e 原创
f 来自网络
g 其他
catname 分类cat对应的名字
author 一言的投稿人
source 一言的出处,可能为空
like 一言的喜欢次数
date 一言的投稿日期

PHP函数

<?php
function hitokoto($cat=”){
$re = json_decode(file_get_contents(‘http://api.hitokoto.us/rand?cat=’.$cat),1);
return $re[‘hitokoto’];
}
//调用随机分类
echo hitokoto();
//调用b分类
echo hitokoto(‘b’);
?>

JavaScript + HTML - 调用举例
脚本地址 http://api.hitokoto.us/rand?encode=js
SSL https://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
SSL https://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>
2、该脚本会与页面同步加载,加载成功后会自动调用指定的函数名,本实例中为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>
2、通过setTimeout加载JavaScript脚本达到异步加载js脚本的目的,加载成功后会自动调用指定的函数名,本实例中为async,并将数据传递给该函数,提前定义该函数即刻达到接收并处理一言数据的目的。

网址:http://hitokoto.us/api.html


随机一言(显示内容与本文关)
Last modification:September 29th, 2018 at 02:39 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment