2016-08-01 148 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文件。我究竟做错了什么? –