开发者服务权限说明

接口说明

使用开发者服务相关接口需要先在智能小程序开发者平台创建小程序,然后获取 appkey 和 AppSecret 。

Client Credentials 授权

采用 Client Credentials 方式,即应用公钥、密钥方式获取 Access Token ,后 Access Token 访问各服务接口。对于应用而言,其流程只有一步,即直接获取 Access Token 。

需要应用在其服务端发送请求(推荐用 POST 方法)到百度 OAuth2.0 授权服务。

请求地址

  1. 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_typeString固定为“client_credentials”
client_idString智能小程序的 AppKey 从开发者平台中获取智能小程序 AppKey 示例:4fecoAqgCIUtzIyA4FAPgoyrc4oUc25c
client_secretString智能小程序的 AppSecret 从开发者平台中获取
scopeString固定为“smartapp_snsapi_base”

返回值说明

正常的返回值

名称类型描述
access_tokenString从服务器获取数据必须的令牌,代表当前应用的身份;默认情况下,Access Token 的有效期为一个月,如果 Access Token 过期可以重新获取
expires_inInt有效时间(单位:秒)
refresh_tokenString当访问令牌(access_token)即将过期,可以使用更新令牌申请新的访问令牌。对于 client_credentials 类型的访问令牌,当它快要过期的时候,用户可以重新生成,无需通过 refresh_token 申请新的访问令牌
scopeString表示当前令牌所具有的权限范围
session_keyString注意:字段已废弃,不可用
session_secretString注意:字段已废弃,不可用

正常的返回值示例

  1. {
  2.   "access_token":"1.a6b7dbd428f731035f771b8d15063f61.86400.1292922000-2346678-124328",
  3.   "expires_in":2592000,
  4.   "refresh_token":"2.385d55f8615fdfd9edb7c4b5ebdc3e39.604800.1293440400-2346678-124328",
  5.   "scope":"SCOPE",
  6.   "session_key":"ANXxSNjwQDugf8615OnqeikRMu2bKaXCdlLxn",
  7.   "session_secret":"248APxvxjCZ0VEC43EYrvxqaK4oZExMB"
  8. }

异常的返回值

名称类型描述
error_descriptionString异常情况详细的提示信息
errorString异常提示信息

异常的返回值示例

  1. {
  2. "error_description": "unknown client id",
  3. "error": "invalid_client"
  4. }

请求示例

https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=Va5yQRHlA4Fq4eR&client_secret=0rDSjzQ20XUj5itV7WRtznPQS&scope=smartapp_snsapi_base

响应数据包格式

  1. {
  2.   "access_token":"1.a6b7dbd428f731035f771b8d15063f61.86400.1292922000-2346678-124328",
  3.   "expires_in":2592000,
  4.   "refresh_token":"2.385d55f8615fdfd9edb7c4b5ebdc3e39.604800.1293440400-2346678-124328",
  5.   "scope":"SCOPE",
  6.   "session_key":"ANXxSNjwQDugf8615OnqeikRMu2bKaXCdlLxn",
  7.   "session_secret":"248APxvxjCZ0VEC43EYrvxqaK4oZExMB"
  8. }

默认情况下,Access Token 的有效期为一个月,如果 Access Token 过期可以重新获取。