百度AI中的[access_token]的獲取方法

百度AI中的[access_token]的獲取方法

如果要使用百度AI中的各種API,在構造URL的時候,所有URL都是由兩部分組成:請求URL和URL參數,如下圖所示

在這裏插入圖片描述總結起來就是,只需要你修改access_token的值就可以直接調用API接口獲取數據。

獲取access_token

在說明文檔中,對於access_token的獲取好多人有點迷茫,不清楚怎麼獲取,如上圖所示它說“通過API Key和Secret Key獲取”後面給出參考鏈接,打開鏈接如下圖所示
在這裏插入圖片描述這裏介紹瞭如何獲取access_token,就是使用給出的鏈接加三個參數:grant_tpe client_id client_secret獲取,其中第一個參數時固定值,也就是說我們只需要兩個參數就可以獲取access_token的值了。
總結一下:要獲取access_token只需要client_id client_secret這兩個參數傳入下面的URL即可

# client_id 爲官網獲取的AK, client_secret 爲官網獲取的SK
URL = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【官網獲取的AK】&client_secret=【官網獲取的SK】'

所以使用API接口的問題就轉換爲獲取這兩個參數了。有了這兩個參數就可以得到access_token,就可以構造完整的URL了。

那麼什麼是【官網獲取的AK】、【官網獲取的SK】呢,其實就是創建的應用授權碼API Key和Secret Key。

如何獲取API Key和Secret Key

1:登錄百度智能雲:登錄雲平臺
百度系的賬號是通用的,隨便一個賬號都行,登錄後如下圖所示
在這裏插入圖片描述
2:創建應用
向下翻頁,在已開通的服務中找到你想要使用的應用,點擊進去。
在這裏插入圖片描述如我選用的人體分析這個API接口服務,我點擊進去後如下圖所示
在這裏插入圖片描述3:點擊創建應用
應用名稱、應用描述隨便填,然後就可以完成創建。再管理應用中就可以看到剛剛創建的應用了。
在這裏插入圖片描述在這裏我們可以找到我們需要的兩個參數,複製到獲取access_token的URL中,然後直接在瀏覽器地址欄中輸入URL就可以返回access_token值,再將access_token傳入API的URL中就可以正常調用API接口服務了。

# client_id 爲官網獲取的AK, client_secret 爲官網獲取的SK
URL = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【官網獲取的AK】&client_secret=【官網獲取的SK】'

輸入瀏覽器地址欄:
在這裏插入圖片描述打開的頁面中,access_token就是我們需要的參數值。
或者通過程序訪問,返回json格式數據後複製:

import requests 

# client_id 爲官網獲取的AK, client_secret 爲官網獲取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【官網獲取的AK】&client_secret=【官網獲取的SK】'
response = requests.get(host)
if response:
    print(response.json())

返回json格式數據

{'refresh_token': '25.b1b737c4105c46b219d7496e125dd354.315360000.1896336396.282335-18399485', 'expires_in': 2592000, 'session_key': '9mzdWT4MkgznoKKHg7gq5dcqAnf1Zx5OJDUYZy7uJy9x8H6XwpREWIT/EIJk5wy5EETbTV8suUDQku5OC8dS1thzTaZi/w==', 'access_token': '24.bddf96de4e8c85f92ecdb41014813956.2592000.1583568396.282335-18399485', 'scope': 'public brain_all_scope brain_body_analysis brain_body_attr brain_body_number brain_driver_behavior brain_body_seg brain_gesture_detect brain_body_tracking brain_hand_analysis wise_adapt lebo_resource_base lightservice_public hetu_basic lightcms_map_poi kaidian_kaidian ApsMisTest_Test權限 vis-classify_flower lpq_開放 cop_helloScope ApsMis_fangdi_permission smartapp_snsapi_base iop_autocar oauth_tp_app smartapp_smart_game_openapi oauth_sessionkey smartapp_swanid_verify smartapp_opensource_openapi smartapp_opensource_recapi fake_face_detect_開放Scope vis-ocr_虛擬人物助理 idl-video_虛擬人物助理', 'session_secret': '8a5c033448b5c6ebb0358b0eb452af95'}
[Finished in 3.4s]

至此,我們已經成功獲取到access_token的值,access_token傳入API的URL中就可以正常調用API接口服務了。
那麼最終的API接口調用程序示例如下

import requests
import base64

'''
駕駛行爲分析
'''
request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v1/driver_behavior"
# 二進制方式打開圖片文件
f = open('C:\\Users\\Administrator\\Desktop\\2.jpg', 'rb')
img = base64.b64encode(f.read())

params = {"image":img} 
access_token = '你的值'
request_url = request_url + "?access_token=" + access_token
headers = {'content-type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, data=params, headers=headers)
if response:
    print (response.json())

成功返回結果

{‘person_num’: 1, ‘person_info’: [{‘attributes’: {‘cellphone’: {‘threshold’: 0.6380000114440918, ‘score’: 6.125114305177703e-05}, ‘both_hands_leaving_wheel’: {‘threshold’: 0.4909999966621399, ‘score’: 2.461467192915734e-05}, ‘not_facing_front’: {‘threshold’: 0.4580000042915344, ‘score’: 0.00255197798833251}, ‘not_buckling_up’: {‘threshold’: 0.4490000009536743, ‘score’: 0.002068870468065143}, ‘smoke’: {‘threshold’: 0.4370000064373016, ‘score’: 7.385350181721151e-05}}, ‘location’: {‘width’: 893, ‘top’: 210, ‘height’: 829, ‘left’: 445}}], ‘log_id’: 2744953514731218950}

當然這個只是簡單的示例,實際應用中還需要好好完善代碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章