2016-08-01 3 views
0

Я пытаюсь взаимодействовать с API-интерфейсом Google Диска, и, пока их пример работает, я хотел бы узнать, как сделать POST-запросы в python вместо использования их предварительно написанных методов. Например, в python, как я могу сделать запрос на запись для вставки файла? Insert a FileЗапросы POST API Google Диска?

Как добавить запросы и параметры в тело?

Спасибо!

UPDATE 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. Создать файл в Google диск и получить его Id в ответ
  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 

выше ответ POST даст вам идентификатор. Для вставки в использовании файла PATCH запрос со следующими параметрами

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> 

Я надеюсь, что вы можете преобразовать его в запросах питона.

+0

Теперь мой код выглядит так, как я писал в UPDATE 1. Он просто создает пустой json-файл под названием «untitled». Что я делаю не так? –

Смежные вопросы