好用的公共 API

784 阅读3分钟

cdnjs 上可用 API

浏览 cdnjs 上的所有库

/libraries 端点将返回一个具有三个顶级属性的 JSON 对象, 通过使用可选的搜索 URL 查询参数, 这个 API 端点还可以用于在 cdnjs 中搜索库, 这个端点上的缓存生存期是 6 小时

这个端点直接由 Algolia 索引提供动力, 与本网站顶部和 Libraries 页面的搜索框使用的索引相同

https://api.cdnjs.com/libraries

https://api.cdnjs.com/libraries?search=jquery

https://api.cdnjs.com/libraries?search=vue&fields=filename,description,version,github&limit=3

获得一个特定的 cdnjs 上的库

/libraries/:library 端点允许请求特定库上的数据, 默认情况下将返回一个带有所有库数据属性的 JSON 对象, 这个端点上的缓存生存期是 6 小时

https://api.cdnjs.com/libraries/vue?fields=name,author,description,filename,sri,version,repository,autoupdate

https://api.cdnjs.com/libraries/react?fields=name,description,tutorials

https://api.cdnjs.com/libraries/jquery?fields=assets,versions

在 CDNjs 获取一个特定版本的库

/libraries/:library/:version 端点返回一个 JSON 对象, 其中包含特定于请求的 cdnjs 库版本的详细信息, 这个端点的缓存生存期是 355 天, 与 CDN 相同, 响应也被标记为不可变, 因为 cdnjs 上的版本一旦发布就永远不会改变

https://api.cdnjs.com/libraries/jquery/3.5.1

https://api.cdnjs.com/libraries/vue/2.6.11?fields=files,sri

列出在 cdnjs 上的库的所有教程

/libraries/:library/tutorials 端点返回一个 JSON 数组, 其中包含用户在 cdnjs 上提交的与这个库相关的所有教程, 这是主库端点返回的 tutorials 属性的镜像, 这个端点的缓存生命周期是 24 小时, 除了这里列出的属性外, 基于每个源教程文件中可用的元数据, 可能还有其他可选属性

https://api.cdnjs.com/libraries/vue/tutorials

https://api.cdnjs.com/libraries/backbone.js/tutorials?fields=name,modified

在 cdnjs 上获取一个库的特定的教程

/libraries/:library/tutorials/:tutorial 端点返回一个 JSON 对象, 其中包含元数据和用户提交的指定教程的内容, 该教程与托管在 cdnjs 上的指定库相关, 这个端点的缓存生存期是 2 周

https://api.cdnjs.com/libraries/vue/tutorials/wtf-is-vuex

https://api.cdnjs.com/libraries/backbone.js/tutorials/cross-domain-sessions?fields=id,name,modified,author

获取关于 cdnjs 文件扩展名白名单的详细信息

/whitelist 端点返回一个 JSON 对象, 其中包含 CDN 上允许的扩展列表以及这些扩展的类别, 这个端点的缓存生存期是 6 小时

https://api.cdnjs.com/whitelist

获取 cdnjs 的基本统计信息

/stats 端点返回一个 JSON 对象, 其中包含一组与 cdnjs 相关的统计信息, 这个端点的缓存生存期是 6 小时

https://api.cdnjs.com/stats

来自 cdnjs API 的错误响应

使用 cdnjs API 生成的所有错误将返回一个统一的结构, 以便于检测和处理, 它们将返回一个 JSON 对象, 其中包含错误状态代码以及解释错误的消息, HTTP 响应代码也将反映错误, 404 错误响应将有一个 1 小时的缓存生存期, 所有其他错误( 5xx 等)没有缓存生存期设置

https://api.cdnjs.com/libraries/this-library-doesnt-exist

https://api.cdnjs.com/libraries/backbone.js/tutorials/this-tutorial-doesnt-exist

https://api.cdnjs.com/this-route-doesnt-exist

Github 常见 API

获取用户信息

https://api.github.com/users/{username}

$ curl https://api.github.com/users/webglawesome

{
  "login": "webglawesome",
  "id": 49437416,
  "node_id": "MDQ6VXNlcjQ5NDM3NDE2",
  "avatar_url": "https://avatars.githubusercontent.com/u/49437416?v=4",
  "gravatar_id": "",
  "url": "https://api.github.com/users/webglawesome",
  ...

获取一个存储库的信息

https://api.github.com/repos/{username}/{reponame}

$ curl https://api.github.com/repos/vuejs/vue

{
  "id": 11730342,
  "node_id": "MDEwOlJlcG9zaXRvcnkxMTczMDM0Mg==",
  "name": "vue",
  "full_name": "vuejs/vue",
  ...

获取一个存储库的 issues

$ curl https://api.github.com/repos/vuejs/vue/issues

...

分页

$ curl api.github.com/repos/vuejs…

参考

docs.github.com/en

omdb api

将所有数据请求发送到

http://www.omdbapi.com/?apikey=[yourkey]&

海报的 API 请求

http://img.omdbapi.com/?apikey=[yourkey]&

参数

www.omdbapi.com/

示例

www.omdbapi.com/

附注

github.com/Binaryify/N…

github.com/shevabam/br…