2016-08-01 149 views
0

我正在嘗試與Google Drive API進行交互,並且在他們的示例正在工作時,我想了解如何在python中創建POST請求,而不是使用其預先寫好的方法。例如,在python中,我將如何發出發佈請求來插入文件? Insert a FileGoogle Drive API POST請求?

如何將請求和參數添加到主體?

謝謝!

更新1:

 headers = {'Content-Type': 'application/json', 'Authorization': 'Bearer ' + 'my auth token'} 
     datax = {'name': 'upload.xlsx', 'parents[]': ['0BymNvEruZwxmWDNKREF1cWhwczQ']} 
     r = requests.post('https://www.googleapis.com/upload/drive/v3/files/', headers=headers, data=json.dumps(datax)) 
     response = json.loads(r.text) 
     fileID = response['id'] 
     headers2 = {'Authorization': 'Bearer ' + 'my auth token'} 
     r2 = requests.patch('https://www.googleapis.com/upload/drive/v3/files/' + fileID + '?uploadType=media', headers=headers2) 
+0

檢查此相關的[SO問題](http://stackoverflow.com/questions/20942626/filesinsert-google-drive-sdk-python-example-what-is-drive-api-service-ins?rq=1 ),我想它可以給你一個關於POST請求的想法 –

回答

0

插入一個文件:

  1. 響應
  2. 建立在谷歌文件驅動器,並得到其標識使用插入文件ID

以下是兩種操作的POST參數:

URL: 'https://www.googleapis.com/drive/v3/files' 
headers: 'Authorization Bearer <Token>' 
Content-Type: application/json 
body: { 
"name": "temp", 
"mimeType": "<Mime type of file>" 
} 

在Python中你可以使用 「請」

import requests 
import json 
headers = {'Content-Type': 'application/json','Authorization': 'Bearer <Your Oauth token' } 
data = {'name': 'testing', 'mimeType': 'application/vnd.google-apps.document'} 
r = requests.post(url,headers=headers,data=json.dumps(data)) 
r.text 

上面的帖子迴應會給你的ID。 要在文件使用與下面的參數

url: 'https://www.googleapis.com/upload/drive/v3/files/'<ID of file created> '?uploadType=media' 
headers: 'Authorization Bearer <Token>' 
Content-Type: <Mime type of file created> 
body: <Your text input> 

我希望你可以把它轉換成蟒蛇請求插入PATCH請求。

+0

現在我的代碼看起來像我在UPDATE 1中發佈的內容。它只是創建一個名爲'untitled'的空白json文件。我究竟做錯了什麼? –