开放API

开放API接口URI均以/openApi/开头,在header中通过设置Authorization key来进行校验。您的具体代码类似于以下示例:

// node javascript
fetch("https://www.yemapt.org/openApi/xxxxxxxxx", {
  "headers": {
    "Authorization": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
  }
});
# bash
curl 'https://www.yemapt.org/openApi/xxxxxxxxx'\
 -H 'Authorization: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'

开放api的校验auth必须使用个人详情页中创建的、具有180天有效期的auth。如果用户使用了cookie中的auth,将无法使用开放api,返回结果的success为false,errorCode为403,errorMessage为need api auth。示例如下:

{
    "success": true,
    "errorCode": 403,
    "errorMessage": "need api auth"
}

1. 用户

1.1 获取用户基本信息

GET /openApi/user/fetchBasicInfo.json

响应结果

备注:avatar如果是/image/开头的字符串,则可以直接拼接域名访问,如果是32位长度的随机字符串,则需要使用 Multiavatar 进行转换,此组件提供了JavaScript、PHP和Python工具包。

1.2 校验是否为本站用户

用于第三方系统校验用户提交的auth是否正常,以及获取对应的uid,此功能采用RSA签名技术。

当前使用的publicKey:

POST /openApi/user/authenticate.json

Header ContentType: application/json

Body

备注:

  • publicKey务必使用wiki中展示的key。

  • randomContent请使用UUID生成32位长度字符串,去除中间的-即可。

响应结果

备注:

签名的数据格式为 用户ID制表符randomContent,即:

示例代码:

python:

java:

2. 种子

2.1 根据piecesHash获取种子id

POST /openApi/torrent/fetchTorrentIdWithPiecesHash.json

Header ContentType: application/json

Body

备注: piecesHashList不能为空,数组长度不能超过100

响应结果

最后更新于