Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using Google App Engine how to upload document in google docs (python)

I want to upload document, file to google docs using Google Apps Engine (python)

any code or link will be appreciated

like image 307
JQuery Guru Avatar asked May 14 '26 16:05

JQuery Guru


2 Answers

See the documentation, but you might try something like:

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
like image 196
fmark Avatar answered May 16 '26 05:05

fmark


Solution is with files Upload, You need to read data using below line in python:

function to read file size

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))

And also need to modify the gdata python library of Google to achieve this:

client.py:

in def upload_file

replace:

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

With:

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

And you can upload file directory to google doc

like image 29
JQuery Guru Avatar answered May 16 '26 07:05

JQuery Guru