赞
踩
选择你要领取的接口(由于我之前领过了人体检测的接口,所以下面已经没有这个选项)
注意:领取接口需要认证
创建成功会在应用列表显示应用,应用里面有我们编程需要用到的API Key 和 Secret Key
我们将百度al给的python例子复制出来,放到linux的Python中运行
不出意外,报错了,因为这个open打开的是我们要检测的图片文件,而我们linux里面的图片文件不是这个名字,所以需要把 '[本地文件]' 修改成我们需要检测的图片文件
修改完毕后,重新运行我们的代码
这里出现了一个错误, Access token invalid or no longer valid ,说明access_token是无效的。这是因为我们没有获取Access token ,我们参考获取 Access Token的技术文档,编写获取Access Token的代码
- # encoding:utf-8
- import requests
-
- # client_id 为官网获取的AK, client_secret 为官网获取的SK
- AK='应用的API Key'
- SK='应用的Secret Key'
- host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=%s&client_secret=%s'%(AK,SK)
- request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v1/body_num"
- response = requests.get(host) #获取鉴权认证使用的access_token
重新运行代码
可以看到我们的Access Token已经获取成功了,但他还是显示Access Token无效,这是因为我们没有把Access Token,放入http post的请求上。
重新运行代码,可以看到接口调用成功
完整代码:
-
- # encoding:utf-8
-
- import requests
- import base64
-
- '''
- 人体检测和属性识别
- '''
-
- # client_id 为官网获取的AK, client_secret 为官网获取的SK
- AK='应用的API Key'
- SK='应用的Secret Key'
- host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=%s&client_secret=%s'%(AK,SK)
- request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v1/body_num"
- response = requests.get(host) #发起get请求获取鉴权认证使用的access_token
- if response:
- print (response.json()) #输出信息
-
- request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v1/body_attr"
-
- # 二进制方式打开图片文件
- f = open('image1.jpg', 'rb')
- img = base64.b64encode(f.read())
-
- params = {"image":img}
- access_token = response.json()['access_token'] #提取access_token的数据
- request_url = request_url + "?access_token=" + access_token #将access_token的数据放入url中
- headers = {'content-type': 'application/x-www-form-urlencoded'}
- response = requests.post(request_url, data=params, headers=headers) #发起post请求,调用接口
- if response:
- print (response.json()) #输出信息
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。