有赞云 API 调用时 token 报错的自查方案

说明:

本文档主要说明开发者在调用有赞云开放接口时报错 "token 无效,该 token 不存在或已过期" 的自查方案

自查步骤:

问题:

{"error_response":{"code":40010,"msg":"参数 token 无效","sub_code":10000,"sub_data":"","sub_msg":"token无效,该token不存在或已过期"}}

1. 检查您使用的 token 是否过期,过期即要重新获取 token
1)如果您创建的是自用型应用:使用 Http 方式调用的接口,需要重新换取 token,参考获取 token 方式如下:

POST https://open.youzanyun.com/auth/token
Content-Type: application/json
{
  "authorize_type": "silent",
  "client_id": "oauth_test",
  "client_secret": "oauth_test",
  "grant_id": "12345"
}

使用 JAVA SDK 方式调用的接口,重新换取 token,参考 SDK 获取 token 方式见【文档链接

2)如果您创建的是工具型应用:

使用 Http 方式调用的接口,获取 token,参考获取 token 方式如下:

POST https://open.youzanyun.com/auth/token
Content-Type: application/json
{
 "authorize_type": "authorization_code",
 "client_id": "bifrost-tool",
 "client_secret": "bifrost-tool",
 "redirect_uri": "https://doc.qima-inc.com",
 "code": "code"
}

刷新 token 方式如下:

POST https://open.youzanyun.com/auth/token
Content-Type: application/json
{
 "authorize_type": "refresh_token",
 "client_id": "bifrost-tool",
 "client_secret": "bifrost-tool",
 "refresh_token": "refresh_token"
}

使用 JAVA SDK 方式调用的接口,重新换取 token,参考 SDK 获取 token 方式见【文档链接

注:工具型应用,如果 access_token 过期了,可以利用 refresh_token 重新获取 token;如果 refrsh_token 也过期了,就到控制台授权列表点击获取 code,重新获取新的 token(需要开发者在程序中根据 token 做过期的时间判断)

2. 检查创建的应用

1)自查您创建的应用是有赞云还是有赞开放平台

有赞云 Diy 控制台:https://diy.youzanyun.com/loginimage.png

有赞开放平台控制台:https://console.youzanyun.com/loginimage.png

2)有赞云的应用,参考有赞云 API 接口调用的那一套逻辑,可参考 API 调用指南:https://doc.youzanyun.com/doc#/content/27027/27552有赞开放平台的应用,参考有赞开放平台 API 接口调用逻辑,可参考 API 调用指南:https://open.youzan.com/v3/apicenter/doc-api-main/1/1/4305

3. 检查 API

1)目前有赞云还未正式上线 API 接口调试工具,因此如果您使用有赞云的 token 在原来开放平台的接口调试工具上测试,即会出现该报错:

{"error_response":{"code":40010,"msg":"参数 token 无效","sub_code":10000,"sub_data":"","sub_msg":"token无效,该token不存在或已过期"}}

2)建议在测试接口的时候,可以使用 Postman 接口调试工具验证:image.png

有赞云 API 请求地址:https://open.youzanyun.com/

有赞开放平台 API 请求地址:https://open.youzan.com/