Использование Google App Engine, как загрузить документ в Google Документы (Python) - PullRequest
3 голосов
/ 21 июня 2010

Я хочу загрузить документ, файл в Google Документы, используя Google Apps Engine (python)

любой код или ссылка будут оценены

Ответы [ 2 ]

3 голосов
/ 21 июня 2010

См. документацию, , но вы можете попробовать что-то вроде:

ms = gdata.MediaSource(file_path='/path/to/your/test.doc',  content_type=gdata.docs.service.SUPPORTED_FILETYPES['DOC'])
entry = gd_client.Upload(ms, 'MyDocTitle')
print 'Document now accessible online at:', entry.GetAlternateLink().href
1 голос
/ 04 июня 2013

Решение заключается в загрузке файлов. Вам необходимо прочитать данные, используя следующую строку в python:

функция для чтения размера файла

def getSize(self,fileobject):
  fileobject.seek(0,2) # move the cursor to the end of the file
  size = fileobject.tell()
  return size



f = self.request.POST.get('fname').file

media = gdata.data.MediaSource(file_handle=f.read(), content_type=gdata.docs.service.SUPPORTED_FILETYPES[ext], content_length=self.getSize(self.request.POST.get('fname').file))

А также необходимо изменить библиотеку Python gdata:Google для достижения этой цели:

client.py:

в файле загрузки по умолчанию

заменить:

while not entry:
 entry = self.upload_chunk(start_byte, self.file_handle.read(self.chunk_size))
 start_byte += self.chunk_size

на:

while not entry:
  entry = self.upload_chunk(start_byte, self.file_handle)
  start_byte += self.chunk_size

И вы можете загрузить каталог с файлами в Google Doc

...