获取access_token(含代码示例) 简要描述 调用该接口获取 access_token注意事项(必读) access_token 是小鹅通开放api的全局唯一接口调用凭据,店铺调用各接口时都需使用 access_token ,开发者需要进行妥善保管;
建议店铺开发者使用中控服务器统一获取和刷新 access_token ,其他业务逻辑服务器所使用的 access_token 均来自于该中控服务器,不应该各自去刷新,否则容易造成冲突,导致access_token 覆盖而影响业务;
access_token的有效期目前为2小时(7200秒),需定时刷新。当剩余有效期 > 30分钟时,重新获取 Token 通常返回同一个Token,不会触发Token刷新,当剩余有效期 < 30分钟时,重新获取将返回新的Token,新旧Token将短暂并存(均可用),旧Token会在自然过期后失效。 在刷新过程中,中控服务器可对外继续输出老的 access_token,确保第三方业务能够平滑过渡;
获取 access_token 的接口调用是有频率限制的,该接口的频率是10分钟100次,超出请求次数该接口须等下个10分钟才可以恢复调用。
为了提高API接口的安全性,只有在ip白名单里面的ip,才能成功获取到access_token,否则拒绝访问。因此,调用接口前,请在云服务控制台中提前将服务器的ip添加到白名单中。
请求方式及url: 请求方式:GET接口地址:https://api.xiaoe-tech.com/token 请求头:Content-Type:application/json频率限制:10分钟100次请求参数 参数名必选类型说明备注(示例)app_id是string店铺的业务id...client_id是string应用的唯一标识,通过 client_id 来鉴别应用的身份在云服务控制台获取secret_key是string应用的凭证秘钥,即client_secret,用来保证应用来源的可靠性,防止被伪造在云服务控制台获取grant_type是string固定填写client_credential...注意:2019.12.9以前开通了API服务的商家,可以继续使用app_id+secret_key的方式获取access_token。后来开通的商家请统一按照app_id+client_id+secret_key的方式获取
请求示例 {
"app_id": "appxxxxxxxxxxx",
"client_id": "xopxxxxxxxxxx",
"secret_key": "xxxxxxxxxxxxx",
"grant_type": "client_credential" //获取token时, grant_type = client_credential
}返回示例 正确示例{
"code": 0,
"msg": "success",
"data": {
"access_token": "N2M5MGYXZWITMZIWMY0ZMWE1LTK3YJMTNGY2ZTQXODHINTK3",
"expires_in": 7200
}
}错误示例{
"code": 2001,
"msg": "invalid secret_key",
"data": null
}返回参数 参数名必选类型说明备注access_token是string凭证...expires_in是int过期时间,单位秒...备注 错误码请查看全局返回码。获取access_token示例(php示例) phpclass TokenManage
{
...
const URL = "https://api.xiaoe-tech.com/token";
private $app_id = "appXXXXXXXXXX"; // 店铺的业务id
private $client_id = "xopXXXXXXXXXX"; // 应用的唯一标识
private $secret_key = "XXXXXXXXXX"; // 应用的凭证秘钥
private $grant_type = "client_credential";
public function requestToken(){
$params = [
"app_id" => $this->app_id,
"client_id" => $this->client_id,
"secret_key" => $this->secret_key,
"grant_type" => $this->grant_type
];
// 发起请求
$result = Http::curlGet(self::URL, $params);
if (!empty($result['body']) && $result['body']['code'] == 0) {
$this->writeFile($result['body']['data']);
return $result['body']['data']['access_token'];
}
return false;
}
...
}获取access_token Demo下载(包含Go、PHP、Java、Python等) 获取access_token 的Demo:Github链接