安全认证
正式环境
正式环境
POST
/v1/oauth/token
Scope 取值范围
Scope取值 | 访问权限 | 说明 |
---|---|---|
public | 默认 | 获取产品类型,获取ETA、价格预估等 |
rides.read | 可选 | 获取用户的行程信息等 |
rides.request | 可选 | 请求、取消、更新行程等 |
profile | 可选 | 获取用户信息等 |
注: 如果接入方是代替用户叫车(用户与滴滴无直接交互),则scope必须包含完整的三项:public,rides.read,rides.request
请求token:
curl -X POST -H "Content-Type: application/json"
-H "Authorization: Bearer domain|{sign}"
-d '{"grant_type":"client_credentials","_":"2016-07-01T10:00:00+0800""nostr":"123abc"}'
'https://api.xiaojukeji.com/v1/oauth/token'
刷新token:
curl -X POST -H "Authorization: Bearer domain|{sign}"
-H "Content-Type: application/json"
-d '{"grant_type":"refresh_token","refresh_token":"43713d0303-49c60a08fe-835c9fc1fe","_":"2016-07-01T11:00:00+0800","nostr":"123abc"}'
'https://api.xiaojukeji.com/v1/oauth/token'
用户token:
curl -X POST -H "Authorization: Bearer domain|{sign}"
-H "Content-Type: application/json"
-d '{"grant_type":"authorization_code","auth_code":"43713d0303-49c60a08fe-835c9fc1fe","_":"2016-07-01T11:00:00+0800","nostr":"123abc"}'
'https://api.xiaojukeji.com/v1/oauth/token'
正常返回:
参数名 | 类型 | 说明 |
---|---|---|
access_token | string | 授权token,请求其他接口时必须由header提交。平台token可以多个同时有效,用户token只最后一个有效 |
refresh_token | string | 刷新token,在access_token过期时使用,该token只一次有效,刷新之后会分配新的refresh_token,无有效期限制 |
expires_in_second | int | access_token有效时间,单位:秒 |
token_type | string | token类型,bear/mac,目前只支持bear类型 |
scope | string | token权限等级,与申请时一致 |
注: 申请token有频次限制,平台 <= 10次/天,个人 <= 5次/天,刷新 <= 10次/天,超过则封禁24小时
返回结果:
http状态
- 200表示请求正确
- 非200表示请求出错
说明:
- 请求数据格式必须为json
- header中需包含接入方id和签名,Authorization: bearer test|{sign},bearer表示请求token类型,test为分配的接入方id,与签名sign用”|”连接
- 签名算法
php版本
function generalCreateSign( $aData = array(), $sKey = '' )
{
if ( empty( $aData ) || ! is_string( $sKey ) ) { //签名数据不能为空,签名key必须为字符串
return FALSE;
}
ksort( $aData ); //签名数据按键值字典顺序排序
$str = '';
foreach ( $aData as $k => $v ) {
if ( empty( $v ) && $v !== 0 ) { //空值键不参与签名
continue;
}
if ( is_array( $v ) ) { //如果键值是数组,编码成json(中文将编码成UTF-8)
$v = json_encode( $v );
}
$str .= trim( $k ) . '=' . trim( $v ) . '&'; //键1=值1&键2=值2...
}
$str = trim( $str, '&' ); //去除字符串两端的&符号
return md5( md5( $str ) . $sKey ); //2次md5,key为给接入方分配的签名key
}
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://api.xiaojukeji.com//v1/oauth/token' \
--header 'Authorization: Bearer domain|{sign}' \
--header 'Authorization;' \
--header 'Content-Type: application/json' \
--data-raw '{"grant_type":"client_credentials","_":"2016-07-01T10:00:00+0800","nostr":"123abc"}'
响应示例响应示例
请求参数
Header 参数
Content-Type
string
必需
示例值:
application/json
Authorization
string
必需
示例值:
Bearer domain|{sign}
undefined
string
可选
Body 参数application/json
返回响应
修改于 2021-11-23 06:03:23