11

I'm trying to simulate clicking "publish to web" -> "start publishing now" in Google docs using the Python version of the Google Drive API. Based on my vague understanding of the documentation, I believe this should work:

service.revisions().update(fileId = newfile['id'],
    revisionId='head', body={'published':True, 'publishAuto': True})

However, this appears to have no effect on my document.

I'd like to be able to programmatically create a Google spreadsheet that is immediately world-accessible.

David Eads
  • 1,502
  • 1
  • 11
  • 21

1 Answers1

8

Turns out the response object that's returned by the code snippet above needs to call execute():

service.revisions().update(fileId = newfile['id'], revisionId='head',
    body={'published':True, 'publishAuto': True}).execute()

This returns a revision object and sets the publish properties on the document.

David Eads
  • 1,502
  • 1
  • 11
  • 21