跳到主要内容

Data API

概述

本文介绍 DATA 开发对接的相关内容。

数据接口认证登录

平台对外发布的接口服务(RESTful风格的Http服务)都需要进行认证登录,以保证数据的安全性。目前支持的认证方式只有一种:Bearer Token

对接准备

你需要从平台获得一对 client_id 和 client_secret,这是你的应用的唯一标识,用于获取 access_token。

身份认证

当你已经拥有 client_id 和 client_secret 时,你就可以通过以下步骤获取 access_token:

第一步:生成签名

签名的生成规则:client_id + 当前时间戳 + client_secret,然后进行 MD5 加密,加密后的 32 位大写字符串即为签名字符串。

  • 签名生成示例:

      <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/crypto-js.min.js"></script>
    <script>
    const client = "输入你的 client_id"
    const secret = "输入你的 client_secret"
    const timestamp = Math.ceil(+new Date() / 1000) // 当前时间戳(十位)
    const plaintext = `${client}${timestamp}${secret}` // 签名明文
    const signature = CryptoJS.MD5(plaintext).toString().toUpperCase(); // 得到签名

    console.log(`签名结果:${signature}`)
    </script>

第二步:发送认证请求

  • 请求方式:POST

  • Content-Type: application/json

  • 请求参数:

    参数名类型必填描述
    clientId字符串客户端(平台提供)
    time数字当前时间戳
    signature字符串签名(通过client_id + time + client_secret,然后进行MD5加密,加密后的32位大写字符串即为签名字符串)
  • 请求示例:

    curl --location 'https://localhost/api/TokenAuth/Authenticate' \
    --header 'Content-Type: application/json' \
    --data '{
    "clientId": "openapi",
    "time": 1724753509317,
    "signature": "B9DBA02F6223468F16E8250D8F080CFF"
    }'
  • 响应参数:

    参数名参数二级描述
    code状态码
    data结果数据
    accessToken访问令牌
    expireInSeconds有效时间(秒)
    success是否成功
    msg错误信息
  • 响应示例:

    {
    "code": 200,
    "data": {
    "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc0V4dGVybmFsIjpmYWxzZSwidXNlcklkIjoiNDMyNDMwMDg0OTY4Njc3Nzg1NyIsImFjY291bnQiOiJXZWxsaW5ndG9uQXBpIiwicmVhbE5hbWUiOiJXZWxsaW5ndG9uQXBpIiwidXNlclR5cGUiOiJkZGFfY2xpZW50Iiwic3lzdGVtIjoiSE9NRSIsImVtYWlsIjpudWxsLCJhdmF0YXIiOm51bGwsImdsb2JlUm9sZU5hbWUiOm51bGwsImNsaWVudFR5cGUiOjAsIm11c3RDaGFuZ2VQd2QiOmZhbHNlLCJleHAiOjE3Mjg4MDcyMDV9.J0oiH0hzYv72X65DZEOoAxDV6PsNuUuyKhNYkdlaD90",
    "expireInSeconds": 86400
    },
    "success": true,
    "msg": null
    }