开发者服务权限说明
接口说明
使用开发者服务相关接口需要先在智能小程序开发者平台创建小程序,然后获取 appkey 和 AppSecret 。
Client Credentials 授权
采用 Client Credentials 方式,即应用公钥、密钥方式获取 Access Token ,后 Access Token 访问各服务接口。对于应用而言,其流程只有一步,即直接获取 Access Token 。
需要应用在其服务端发送请求(推荐用 POST 方法)到百度 OAuth2.0 授权服务。
请求地址
GET https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=CLIENT_ID&client_secret=CLIENT_SECRET&scope=smartapp_snsapi_base
方法参数
query 参数
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
grant_type | String | 是 | 固定为“client_credentials” |
client_id | String | 是 | 智能小程序的 AppKey 从开发者平台中获取智能小程序 AppKey 示例:4fecoAqgCIUtzIyA4FAPgoyrc4oUc25c |
client_secret | String | 是 | 智能小程序的 AppSecret 从开发者平台中获取 |
scope | String | 是 | 固定为“smartapp_snsapi_base” |
返回值说明
正常的返回值
名称 | 类型 | 描述 |
---|---|---|
access_token | String | 从服务器获取数据必须的令牌,代表当前应用的身份;默认情况下,Access Token 的有效期为一个月,如果 Access Token 过期可以重新获取 |
expires_in | Int | 有效时间(单位:秒) |
refresh_token | String | 当访问令牌(access_token)即将过期,可以使用更新令牌申请新的访问令牌。对于 client_credentials 类型的访问令牌,当它快要过期的时候,用户可以重新生成,无需通过 refresh_token 申请新的访问令牌 |
scope | String | 表示当前令牌所具有的权限范围 |
session_key | String | 注意:字段已废弃,不可用 |
session_secret | String | 注意:字段已废弃,不可用 |
正常的返回值示例
{
"access_token":"1.a6b7dbd428f731035f771b8d15063f61.86400.1292922000-2346678-124328",
"expires_in":2592000,
"refresh_token":"2.385d55f8615fdfd9edb7c4b5ebdc3e39.604800.1293440400-2346678-124328",
"scope":"SCOPE",
"session_key":"ANXxSNjwQDugf8615OnqeikRMu2bKaXCdlLxn",
"session_secret":"248APxvxjCZ0VEC43EYrvxqaK4oZExMB"
}
异常的返回值
名称 | 类型 | 描述 |
---|---|---|
error_description | String | 异常情况详细的提示信息 |
error | String | 异常提示信息 |
异常的返回值示例
{
"error_description": "unknown client id",
"error": "invalid_client"
}
请求示例
https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=Va5yQRHlA4Fq4eR&client_secret=0rDSjzQ20XUj5itV7WRtznPQS&scope=smartapp_snsapi_base
响应数据包格式
{
"access_token":"1.a6b7dbd428f731035f771b8d15063f61.86400.1292922000-2346678-124328",
"expires_in":2592000,
"refresh_token":"2.385d55f8615fdfd9edb7c4b5ebdc3e39.604800.1293440400-2346678-124328",
"scope":"SCOPE",
"session_key":"ANXxSNjwQDugf8615OnqeikRMu2bKaXCdlLxn",
"session_secret":"248APxvxjCZ0VEC43EYrvxqaK4oZExMB"
}
默认情况下,Access Token 的有效期为一个月,如果 Access Token 过期可以重新获取。