百度網盤api 介面 Linux 使用百度網盤API上傳備份檔案
開發者需要根據各自的應用場景,選擇適用的OAuth2.0授權流程:
- 網站或者站外Web應用,請參考:Authorization Code流程;
- 桌面和無線客戶端應用,請參考:Authorization Code流程,無server端的也可以使用Implicit Grant流程,無線客戶端可以直接使用官方SDK,通過WebView方式使用授權頁;
- 針對雲平臺的API授權,只是針對開發者,參考:百度OAuth2.0對外提供的開發者授權方式Developer Credentials。
以下介紹了三種應用場景方便開發者熟悉授權流程。
Server端使用百度OAuth2.0授權呼叫開放API流程
又稱Web Server Flow,適用於所有有Server端配合的應用。 | 有效期一個月的Access Token+有效期十年的Refresh Token。 |
(A) get code <= http://openapi.baidu.com/oauth/2.0/authorize?response_type=code&client_id=TG3X5KahFVkmik87Rf46gLMU&redirect_uri=oob&scope=netdisk%20basic&display=page
(B) get access code <= https://openapi.baidu.com/oauth/2.0/token?client_id=TG3X5KahFVkmik87Rf46gLMU&client_secret=F9WIzAVVvEjVP9nuQV1AaoO8NpgIi5UA&grant_type=authorization_code&code=7d4dd5aef9f6b36adfc8556b51cc1d93
1. 引導使用者到如下地址進行授權:
2. 如果使用者同意授權,頁面跳轉至 YOUR_REGISTERED_REDIRECT_URI/?code=CODE 。
3. 換取Access Token。
返回值
4. 使用獲得的OAuth2.0 Access Token呼叫API
移動端使用百度OAuth2.0授權呼叫開放API流程
又稱User-Agent Flow,適用於所有無Server端配合的應用(桌面客戶端需要內嵌瀏覽器)。 | 有效期一個月的Access Token。 |
1. 引導使用者到如下地址進行授權:
2. 如果使用者同意授權,頁面跳轉至 YOUR_REGISTERED_REDIRECT_URI 在Fragment中追加如下引數。
3. 截獲OAuth2.0 Access Token呼叫API。
裝置使用百度OAuth2.0授權呼叫開放API流程
適用於一些輸入受限的裝置上(如只有數碼液晶顯示屏的印表機、電視機等)。 | 有效期一個月的Access Token+有效期十年的Refresh Token。 |
(A) get user_code <= curl -k -L -d "client_id=TG3X5KahFVkmik87Rf46gLMU&response_type=device_code&scope=basic,netdisk" "https://openapi.baidu.com/oauth/2.0/device/code"
(B) get access code <= http://openapi.baidu.com/device?code=itpj3wd9&display=page&redirect_uri=&force_login=
1. 獲取User Code和Device Code :
2. 授權服務會返回一段JSON文字,其中包含一個二維碼圖片地址。
3. 引導使用者通過其他終端去百度填寫User Code並授權。
4.通過Device Code獲取Access Token。
5. 使用獲得的OAuth2.0 Access Token呼叫API。