VUI-百度语音之Rest接口python学习笔记1-获取Token

版权声明:本文为博主原创文章,未经博主允许不得转载。 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对应的值即可。

猜你喜欢

转载自blog.csdn.net/iamlvshijie/article/details/72353895
今日推荐