【1】我的MCP应用信息如下:基本信息*AppId:12254xxx(替换为你的appid)*AppKey:c0wBsCMhsWZfxxx(替换为你的appkey)*SecretKey:0nXe7ld6xxx(替换为你的SecretKey)*Scope:basic,dueros*授权地址:https://openapi.baidu.com/oauth/2.0/authorize*Token地址:https://openapi.baidu.com/oauth/2.0/token【2】设备码授权说明如下,请按照说明文档完成和小度音箱的授权接入设备码模式授权更新时间: 2025-06-30目录设备码模式(Device Code)授权时序图具体授权实现1. 获取设备码、用户码2. 引导用户授权3. 用 Device Code 轮询换取 Access Token刷新 Access Token设备码模式(Device Code)对于弱输入设备,不支持浏览器或输入受限的设备(如儿童手表),推荐使用设备码模式接入授权。开发者获取设备码,用户授权成功后,开发者通过设备码成功换取 Access Token。Access Token 有效期30天,过期后支持刷新,刷新后的 Access Token 有效期仍为 30 天。请按需刷新,不需要不停的刷新。如果刷新请求API返回失败,旧的refresh_token会失效,此时需要重新发起授权请求,而不是使用旧的 refresh_token 循环请求。refresh_token 只支持使用一次,使用后即失效。下次刷新 Access Token 时需要使用上一次刷新请求响应中的 refresh_token。使用 device_code 轮询换取 Access Token 时,轮询间隔不能低于 5 秒。用户授权有两种方式:扫描二维码或输入用户码。授权时序图授权时序图流程简介:开发者应用请求设备码、用户码。百度 OAuth 服务器返回设备码、用户码、二维码 URL。开发者应用呈现二维码或输入用户码的页面。用户通过手机等智能终端扫描二维码或输入用户码。用户登录百度帐号并授权。开发者应用使用 device_code 周期性请求 Access Token。百度 OAuth 服务器在用户确认授权后,返回 Access Token。具体授权实现设备码模式授权主要依赖以下3步:获取设备码 (device_code) 和用户码 (user_code)。引导用户授权。用 device_code 轮询换取 access_token。1. 获取设备码、用户码请求地址:https://openapi.baidu.com/oauth/2.0/device/code?response_type=device_code&client_id=您应用的AppKey&scope=basic,dueros请求示例:cURLcurl -L -X GET 'https://openapi.baidu.com/oauth/2.0/device/code?response_type=device_code&client_id=EVaI5x0U6lEmP125G0Su55ROEXZtItdD&scope=basic,dueros' \-H 'User-Agent: dueros.baidu.com'响应示例:{ "device_code": "984c2459ec41415c9f5b0137a017fc49", "user_code": "8drp69hk", "verification_url": "https://openapi.baidu.com/device", "qrcode_url": "https://openapi.baidu.com/device/qrcode/a52610ef0eec30da5e45870872317478/8drp69hk", "expires_in": 300, "interval": 5}参数说明:参数 类型 必选 备注response_type string M 固定值,必须为 device_code。client_id string M 您应用的AppKey。scope string M 固定值,必须为 basic,dueros。返回值说明:参数 类型 备注device_code string 设备码,用于生成 Access Token。user_code string 用户码。verification_url string 用户输入 user_code 进行授权的 URL。qrcode_url string 二维码 URL,用户扫描后可完成授权。expires_in int device_code 的过期时间(秒)。interval int 轮询间隔时间(秒)。注:二维码内容拼接规则为 https://openapi.baidu.com/device?display=mobile&code={user_code}。2. 引导用户授权选择以下两种方式之一:扫二维码方式: 展示 qrcode_url 生成的二维码,用户使用百度App、小度App或微信等扫码授权。输入用户码方式: 引导用户访问 verification_url,并输入设备上显示的 user_code 完成授权。3. 用 Device Code 轮询换取 Access Token请求地址:https://openapi.baidu.com/oauth/2.0/token?grant_type=device_token&code={device_code}&client_id={AppKey}&client_secret={SecretKey}注意:轮询此接口每两次请求时间间隔应大于5秒。请求示例:cURLcurl -L -X GET 'https://openapi.baidu.com/oauth/2.0/token?grant_type=device_token&code=d5a53cd0ca7799d033399487b23ec992&client_id=EVaI5x0U6lEmP125G0Su55ROEXZtItdD&client_secret=VPgfmrt8UBM5kgkeUemwRVmr5AjhFuEV' \-H 'User-Agent: dueros.baidu.com'响应示例:{ "expires_in": 2592000, "refresh_token": "127.e4971f7944a192c9023bf054ec66c091.YHe2H-QUlWRoj7RmX_F-PeKiQtjKKruvkQgBmfY.PtsH-Q", "access_token": "126.ee2ca5592d5289e2885eeba126bc98ff.YHmyFbqEz_EUyG0EnsTXREp9VqDJmyIDpxeA1zw.EzfneA", "session_secret": "", "session_key": "", "scope": "basic dueros"}参数说明:参数 类型 必选 备注grant_type string M 固定值,必须为 device_token。code string M 第一步获取的 device_code。client_id string M 您应用的AppKey。client_secret string M 您应用的SecretKey。返回值说明:参数 类型 备注access_token string 调用API的凭证。expires_in int Access Token的有效期(秒)。refresh_token string 用于刷新 Access Token,有效期为10年。scope string 用户实际授权的权限列表。至此,您已经成功获取 Access Token。刷新 Access Token请求地址:https://openapi.baidu.com/oauth/2.0/token?grant_type=refresh_token&refresh_token={refresh_token}&client_id={AppKey}&client_secret={SecretKey}请求示例:cURLcurl -L -X GET 'https://openapi.baidu.com/oauth/2.0/token?grant_type=refresh_token&refresh_token=127.e4971f7944a192c9023bf054ec66c091.YHe2H-QUlWRoj7RmX_F-PeKiQtjKKruvkQgBmfY.PtsH-Q&client_id=EVaI5x0U6lEmP125G0Su55ROEXZtItdD&client_secret=VPgfmrt8UBM5kgkeUemwRVmr5AjhFuEV' \-H 'User-Agent: dueros.baidu.com'响应示例:{ "expires_in": 2592000, "refresh_token": "122.51265f007055bc895cb02c639410a90d.YDLFcE2nee3Cyu-Bsn7SAFVCAfdCkvSm4EnCdkO.Zs_FiF", "access_token": "121.60bf4c9911cb554aac39a1c701a4dae8.YDjwYds0zFgbM1rifQhjMLwsfb6xYus5tUhNEoA.XNNoOW", "session_secret": "", "session_key": "", "scope": "basic sdueros"}参数说明:参数 类型 必选 备注grant_type string M 固定值,必须为 refresh_token。refresh_token string M 上一次换取或刷新 Access Token 时获取的 refresh_token。client_id string M 您应用的AppKey。client_secret string M 您应用的SecretKey。