版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/iamlvshijie/article/details/72353895
背景见第一篇文章。
集成首先要获取百度账户和创建App。创建完成后,即可获取API Key,和Secret Key。这边略过。
注意:参考代码里面的app_data中的client_id和client_secret换成自己的app对应的值即可。
以下是百度sdk文档官方指南
获取 Access Token
使用语音识别 REST API 需要获取 Access Token。Access Token 是用户身份验证和授权的凭证,语音识别采用的是Client Credentials授权方式,即采用应用公钥、密钥获取Access Token,适用于任何带server类型应用,通过此授权方式获取Access Token仅可访问平台授权类的接口,详见百度 OAuth 授权“Client Credentials授权”部分。
使用Client Credentials获取Access Token需要应用在其服务端发送请求(推荐用POST方法)到百度OAuth2.0授权服务的“ https://openapi.baidu.com/oauth/2.0/token ”地址上,并带上以下参数:
- grant_type:必须参数,固定为“client_credentials”;
- client_id:必须参数,应用的 API Key;
- client_secret:必须参数,应用的 Secret Key;
例如:
https://openapi.baidu.com/oauth/2.0/token?
grant_type=client_credentials&
client_id=Va5yQRHl********LT0vuXV4&
client_secret= 0rDSjzQ20XUj5i********PQSzr5pVw2&
响应数据包如下所示,其中 “access_token” 字段即为请求 REST API 所需的令牌, 默认情况下,Access Token 有效期为一个月,开发者需要对 Access Token的有效性进行判断,如果Access Token过期可以重新获取。
例如:
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
{
"access_token": "1.a6b7dbd428f731035f771b8d********.86400.1292922000-2346678-124328",
"expires_in": 86400,
"refresh_token": "2.385d55f8615fdfd9edb7c4b********.604800.1293440400-2346678-124328",
"scope": "public",
"session_key": "ANXxSNjwQDugf8615Onqeik********CdlLxn",
"session_secret": "248APxvxjCZ0VEC********aK4oZExMB",
}
参考代码
import urllib
auth_url='https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials'
server_url='http://vop.baidu.com/server_api'
app_data={'client_id':'xxxxxx',
'client_secret':'xxxxxx'}
app_data=urllib.urlencode(app_data)
response_html=urllib.urlopen(auth_url,app_data)
response_html_str= response_html.read()
print response_html_str
注意:
app_data中的client_id和client_secret换成自己的app对应的值即可。
app_data中的client_id和client_secret换成自己的app对应的值即可。