(二)百度AI 开放平台API调用之AccessToken的获取
程序员文章站
2022-03-26 10:41:52
...
近来要了解自然语言处理方面的技术,拿百度API做个实验对,进行多次编码尝试最终成功调用。
在本人博客百度API使用系列,使用python代码实现。涉及内容如下:
- AccessToken获取
-
自然语言API调用,代码参数设置
- 代码修改中出现的错误,及最终的方法
- 错误提示:"error_code": 282004,error_msg":"invalid parameter(s)"
- not a valid non-string sequence or mapping object
本节是AccessToken的获取,编写原因是因为百度官方说明是针对python2的代码,使用urllib2在python已经弃用,且给出的获取代码还是需要加工才能保证整个调用流程的连贯性。现把使用过程进行分享。
欢迎分享和转载,请注明出处 shuihupo:https://blog.csdn.net/shuihupo/article/details/79862004点击打开链接实验使用的环境是Windows10 Python3
首相查看官方说明文档
获取Access Token
请求URL数据格式
向授权服务地址https://aip.baidubce.com/oauth/2.0/token
发送请求(推荐使用POST),并在URL中带上以下参数:
-
grant_type: 必须参数,固定为
client_credentials
; -
client_id: 必须参数,应用的
API Key
; -
client_secret: 必须参数,应用的
Secret Key
;
例如:
https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=Va5yQRHlA4Fq5eR3LT0vuXV4&client_secret=0rDSjzQ20XUj5itV6WRtznPQSzr5pVw2&
形象化即:
https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【官网获取的AK】&client_secret=【官网获取的SK】
参数是个人创建应用的参数或者自己应用的匹配**。创建应用参见博文点击打开链接
获取AccessToken代码:
代码的优势不仅在于得到access_token,更在于将其存为变量,方便随后的直接使用。
#!/ Mypython
# -*- coding: utf-8 -*-
# @Time : 2018/4/4 18:36
# @Author : LinYimeng
# @File : test1.py
# @Software: PyCharm
import urllib
###第一步:获取access_token
# client_id 为官网获取的AK, client_secret 为官网获取的SK,以下一行按自己实际填写
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=****grant_type&client_id=****&client_secret=****'
request = urllib.request.Request(host)
request.add_header('Content-Type', 'application/json; charset=UTF-8')
response = urllib.request.urlopen(request)
content = response.read()
if (content):
print(type(content))#<class 'bytes'>
content_str=str(content, encoding="utf-8")
###eval将字符串转换成字典
content_dir = eval(content_str)
access_token = content_dir['access_token']
若请求错误,服务器将返回的JSON文本包含以下参数:
- error: 错误码;关于错误码的详细信息请参考下方鉴权认证错误码。
- error_description: 错误描述信息,帮助理解和解决发生的错误。
鉴权认证错误码
error | error_description | 解释 |
---|---|---|
invalid_client | unknown client id | API Key不正确 |
invalid_client | Client authentication failed | Secret Key不正确 |
实验使用的环境是Windows10 Python3
上一篇: php实现单态设计模式的方法
下一篇: php怎么输出当前版本号