一言 API – 链接记忆,走过时光。

我们希望通过一言,链接大家对各方文字的美好记忆,伴你踩碎迷茫,走过时光。

什么是一言

相信大家都有或曾经有过自己的摘抄本。「一言」就好似一个公开的摘抄本,我们在此记录那些让人感怀的,让人振奋的,让人感动的,让人一眼就有所感触的短句,并通过公共 API 的形式使你能够在自己的项目中调用它们。

我们希望通过一言,链接大家对各方文字的美好记忆,伴你踩碎迷茫,走过时光。

如果你不是开发者,只是想在自己的设备上看到「一言」,请移步文末的「谁在使用一言?」部分。

调用方法

获取数据

出于安全考虑,我们仅支持通过 HTTPS 方法调用 API
以下所有参数均仅适用于以 GET 方式请求地址: https://api.lwl12.com/hitokoto/v1

  • charset: 字符集,支持gbk/utf-8,默认为utf-8
  • encode: 数据格式,分为 js \ json \ realjson 三种
    • js 返回函数名为 lwlhitokoto 的 JavaScript 脚本,该脚本使用 document.write() 函数显示一言
    • json 返回函数名为 echokoto 的 JSONP 数据
    • realjson 返回标准 Json 数据

响应数据

当您请求标准 Json 数据时,API 会返回以下内容:

  • text: 一言主体文本
  • author: 一言在原出处中的作者
  • source: 一言的来源

请注意,由于数据收集难度很大,并非所有数据都包含 author / source ,请注意在您的程序中判断这两个值为空的情况。

我们假设现在有一作品 A,其中某一段这样写道:

友人B:看呀,这个一言 API 多么好用!

则当我们收录后,返回的数据就会是这样:

  • text: 看呀,这个一言 API 多么好用!
  • author: 友人B
  • source: 《A》

下面是实际请求一次 https://api.lwl12.com/hitokoto/v1?encode=realjson 的结果:

{
    text: "没有谁的生活会一直完美,但无论什么时候,都要看着前方,满怀希望就会所向披靡。",
    author: "巫哲",
    source: "《撒野》"
}

当您使用的 encode 不为 Json 时,API 将以 主体文本 ——作者, 来源 的方式组合并返回文本。

网页引用

将下面这段代码放入页面内需要展示一句话的位置即可

<script type="text/javascript" src="https://api.lwl12.com/hitokoto/v1?encode=js&charset=utf-8"></script><span id="lwlhitokoto"><script>lwlhitokoto()</script></span>

请注意,这是一个最简单的调用实例,但我们并不推荐您使用这一方法。使用 Ajax 技术异步请求 JsonP 或 Json 接口会是更好的选择。
由于这类代码需要根据站点实际情况编写,这里不提供代码。您可参考 lwl.moe 或其他网站的调用方式自行完成调用。

一言展示

下方会显示一条随机的一言_(:з」∠)_

刷新试试?会变哦~

谁在使用一言

以下是一言的典型使用案例,欢迎体验。


- EOF -

284 条评论

昵称
  1. 茂猪

    我想知道微信分享的文章,为什么会出现了 “DO NOT ACCESS,当前页面存在安全风险,建议停止访问!-LWL Networks Security Center” 的提示

    1. liwanglin12

      @茂猪 之前有一些恶意跳转、博彩站调用API被我拦截了,你这个应该是被误判了吧,方便的话具体页面给我一下

    2. 茂猪

      @liwanglin12 我是放在了侧边栏,所以每个页面加载都会出现…………

    3. liwanglin12

      @茂猪 我晚上看一下吧,正常来说应该不会这样的。

    4. 茂猪

      @liwanglin12 我暂时先取消了,因为分享招聘成员的文章被阻拦了,然后现在正常了。
      分享的是https://maolog.com/2018/03/recruitment-post.html这篇,如果你需要测试,晚上回复一下,我把那段调用代码加上去给你测试。

    5. liwanglin12

      @茂猪 HTTP/2.0" 200 231 "https://maolog.com/2018/03/recruitment-post.html?from=groupmessage&isappinstalled=0" 看了一下你这个是撞到 t.html? 规则上面了,我改了一下你看看现在是不是正常了

    6. 茂猪

      @liwanglin12 然后我用https://github.com/kfangf/hitokoto自己搭了一个自用,哈哈哈,谢谢啦~ヾ(≧∇≦*)ゝ

  2. 音速灰行的起子

    再来学习一下,之前一直没用到一言

  3. memset0

    从hzwer大佬的博客来,又发现一枚大佬

  4. n59yl

    貌似gg了呢…好多乱的数据

  5. curiousRay

    探测到一位大佬!

    1. liwanglin12

      @curiousRay facial我不是 我没有

  6. 洛汐

    不知道为什么我就想留一条言

  7. suzichen

    有作者信息等参数吗?

    1. liwanglin12

      @suzichen 设计的时候是纯净 API 于是没有这些参数

    2. suzichen

      @liwanglin12 感谢!挺好用的,几乎没有延迟

    3. 龙笑天

      @liwanglin12 如果在加上一个参数来得到这个来源信息就更好了~facial

    4. liwanglin12

      @龙笑天 我也想,但是我数据库里没有存作者信息

    5. 龙笑天

      @liwanglin12 可以赶紧补上作者信息啊,完善后,再放出作者参数

    6. liwanglin12

      @龙笑天 几万条一言,怎么补?
      来源都已经不知道了。。

    7. 龙笑天

      @liwanglin12 facial连一言id都木有存啊

    8. liwanglin12

      @龙笑天 数据来源不止hitokoto.us的那497条了。。现在多得多

    9. 龙笑天

      @liwanglin12 好吧~~~

    10. liwanglin12

      @龙笑天 (最终还是想办法补上了 75% 左右……

    11. liwanglin12

      @suzichen 现在有啦(

    12. 龙笑天

      @liwanglin12 666 非常给力~φ( ̄∇ ̄o)

  8. eluo

    你好,我想问下你的这个API用什么框架优化的,速度这么快.(☆ω☆) 正在学API接口开发.很需要这个知识.

    1. liwanglin12

      @eluo 框架是 ThinkPHP……不过其实这框架效率也不见得有多高
      一言的话主要是数据全部都储存在 Redis 里了,再加上逻辑比较简单,所以会比较快(基本就是网络传输时间)

  9. Axton

    嘿,我最近写了一个WordPress主题( https://github.com/yrccondor/mdx ),希望能在页脚加入一言功能(即通过使用以上API)。请问是否可以呢?我会在该功能设置处注明API来源。

    1. liwanglin12

      @Axton 公开 API,随便用,不用署名(
      当然署名我也会很开心的 233

  10. 纯情

    怎么给这个一言加个背景?求真相

  11. 音速灰行的起子

    我。。居然从张戈博客回来了?

  12. 千域

    能不能开源呢OωO

    1. liwanglin12

      @千域 不能

  13. ZeroAurora

    不知为什么,我加到自己博客的字好小啊。。
    https://zeroaurora.github.io/

    1. liwanglin12

      @ZeroAurora 自己改改css。。。

    2. ZeroAurora

      @liwanglin12 不懂(摊手)
      还有刚刚因为Bug撤回了更改,原因是插入后其他页面顶端会出一些奇奇怪怪的东西。。
      还好撤回了,Branch真是个好东西。

  14. ZeroAurora

    什,什么?原来你就是酷安那个“一言”的开发者?

    1. liwanglin12

      @ZeroAurora 不是,api提供者之一

    2. ZeroAurora

      @liwanglin12 啊哦哦哦
      这个API是有限的吗?∠( ᐛ 」∠)_

    3. liwanglin12

      @ZeroAurora 暂时无限

  15. 小屁卡

    (☆ω☆)博主毕业了嘛

    1. liwanglin12

      @小屁卡 没有

    2. 小屁卡

      @liwanglin12 咩咩咩,不开心

  16. 林枫

    |´・ω・)ノ方便加个Q吗,,

    1. liwanglin12

      @林枫 不方便。。。facial 博主是高中党暂时没啥空啊

    2. Nopa

      @liwanglin12 facial为什么上次你主动给我你的QQ

    3. liwanglin12

      @Nopa 没印象啊,啥时候

  17. 林枫

     ̄﹃ ̄ document.write是否与pjax冲突

    (╯°A°)╯︵○○○lwlhitokoto()代码在内,pjax绑定test,点击链接后,页面只剩下了一言的内容

    (´இ皿இ`)崩溃啊!

    1. liwanglin12

      @林枫 ヾ(´・ ・`。)ノ”讲道理这个问题你在本站任意页面源码里搜一下hitokoto抄过去就行了,如果实在不会的话等啥时候用上电脑了我再找给你吧

  18. Code

    想想半年多前受dalao的api和一言app的启发,做了一句api和app,今天再来看看…… |´・ω・)ノ
    最近得罪人了还是怎么的,api几分钟被暴力请求几万次……真怕以后再出现,不知你对这种情况有没有采取什么防范措施呢?
    希望以后能跟着dalao学习哦 ヾ(≧∇≦*)ゝ

    1. liwanglin12

      @Code 限制频次呗,随便找个Key-Value数据库存一下请求次数就行

  19. neoFelhz

    啊哈,我也搞了一个类似一言的API。

    1. liwanglin12

      @neoFelhz 看到了~
      挺有趣的2333∠( ᐛ 」∠)_

    2. neoFelhz

      @liwanglin12 结果托管于香港主机的API拖慢了我博客的速度_(:з」∠)_刚给API的域名做了dns-prefetch。

    3. neoFelhz

      @liwanglin12 干脆把 API 的 js 缓存了,结果刷新是不会改变了。
      以后再找朋友的国内主机放 API。_(:з」∠)_

  20. 羽中

    我是多衰,整整两年后撞到这里被虐。。(╯‵□′)╯︵┴─┴

    1. liwanglin12

      @羽中 哈哈哈哈哈不过这个是送给有情人祝分手的啊怎么会被虐呢

    2. 羽中

      @liwanglin12 都是因为分手才过不成节啊(╯‵□′)╯︵┴─┴

    3. fly3949

      @羽中 23333 心疼1s😭

    4. Zohar

      @羽中 年度最佳(/ω\)

  21. 小霖

    好吧并不行

    1. liwanglin12

      @小霖 naive, 要是能这么引用还得了…… 那是重大安全漏洞🙄
      另外我开源的那个库已经比较过时了,现在库里大概有……一万三左右条吧 = =

    2. 小霖

      @liwanglin12 那这么说我还得写个爬虫去爬一下官方的库😓
      好气啊╮(╯▽╰)╭

    3. liwanglin12

      @小霖 ⌇●﹏●⌇多出来的是我自己收集的。你爬官方库也找不到(笑
      爬我的小心被Anti-Spider🙃

    4. 小霖

      @liwanglin12 OωO
      你竟然还Anti-spider😑
      气炸了 ̄﹃ ̄

    5. Kay

      @liwanglin12 哎嘿嘿,我很好奇你的Anti-spider,我来把你的也爬一遍OωO

    6. liwanglin12

      @Kay 程序限制很弱,只是你本人可能被我脸熟黑名单😌

  22. 小霖

    用你的词库搭了个一样的ヾ(≧∇≦*)ゝ
    https://api.xiaolin.in/hitokoto/?code=js
    试试能不能引用⌇●﹏●⌇
    xlhitokoto()

  23. 晨曦的记忆

    不错哦

  24. 落叶大大

    准备用了,希望稳定哈

    1. 落叶大大

      @liwanglin12 厉害了,大哥

  25. 丶小C

    希望返回的内容里面显示出自哪一部动漫

    1. liwanglin12

      @丶小C 既然你都已经找到这篇文章了就应该知道这个功能是不可能的。。设计之初就没有考虑收集作者

    2. Fly
    3. icPu

      @liwanglin12 这个小C应该是BILIBILI JJ的站长

    4. xiaoC

      @icPu 哇。。你吓到我了,你怎么知道的facial

    5. 滑稽

      @xiaoC 我曾在你的群里晃荡了N久

    6. 滑稽

      @xiaoC 尤其是 http://t.qq.com/zhuxiaocan461 zhuxiaocan这个ID

    7. liwanglin12

      @丶小C 打脸了,现在可以显示了∠( ᐛ 」∠)_

  26. 浅调月光

    把代码放进页面预览的时候显示正常,保存后页面就不出现这行话了。。(╯‵□′)╯︵┻━┻还有,话说,大佬你的博客吞留言吗,感觉消失了好几条,还是我问的太白痴了T.T

    1. liwanglin12

      @浅调月光 因为最近有几个xx分享网的广告机在各种发垃圾评论,然后只好开启了游客评论审核功能。。我也不知道为什么你不是游客也审核了。。

    2. 浅调月光

      @liwanglin12 已经可以显示啦,昨天不知怎么的加载不出来,谢谢大佬~ o(* ̄▽ ̄*)ブ

    3. 萨摩公园

      @liwanglin12 搞得我都不敢开评论了

  27. DK

    hi,问下1.4.2在哪里下载

    1. liwanglin12

      @DK 顺便问一下你是在哪看见的这个提示?

  28. 寒光博客

    一言最近多半挂了 唉

    1. liwanglin12

      @寒光博客 我的大概再保证半年服务 然后我就没钱了(233333

    2. Kay

      @liwanglin12 一言留下源码再走QAQ

    3. liwanglin12

      @Kay 开源在 Github 了,使用 “给了 star 之后你想怎么用就怎么用许可证”

    4. Kay

      @liwanglin12 阿里嘎多!!

    5. 寒光博客

      @liwanglin12 可惜啊 做的这么好的一言官网 居然死了 要是需要资金我们也可以资助呐

    6. liwanglin12

      @寒光博客 咱不是官网。。你说.us的话找我没用我联系不到作者(;′⌒`)

    7. liwanglin12

      @寒光博客 当然你给我捐我也是不介意的23333

    8. 寒光博客

      @liwanglin12 哈哈~~ 我也没多少钱呐~

    9. 我一本正经地说

      @liwanglin12 好吧~在hitokoto/application/database.php 配置了数据库信息 也导入数据库文件了 问题来了 怎么使用?public/index.php打开依旧为空 我蒙蔽了

    10. liwanglin12

      @我一本正经地说 我不解答 API 开源版本的使用问题哦233

    11. 我一本正经地说

      @liwanglin12 你应该在读我文档里面稍微写写食用方法QAQ

    12. 寒光博客

      @liwanglin12 你的API还好用么 如果好用的话 我帮你推广 我弄的博客的一个小功能

    13. liwanglin12

      @寒光博客 你说好不好用呢…难道现在挂了么。。。

    14. 寒光博客

      @liwanglin12 好好的一言us 为什么就死了呢!

    15. liwanglin12

      @寒光博客 别问我,不愿意用我的就算了 233

  29. 刘文博

    弱弱的求源码研究