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.
Publish a file to the webIn Google Drive, open your file. Publish to the web. For spreadsheets, select the entire spreadsheet or individual sheets. For presentations, choose how quickly to advance the slides.
The Google Sheets API lets you read, write, and format Google Sheets data with your preferred programming language, including Java, JavaScript, and Python.
Open a file in Google Docs or Sheets that you've already published to the web. Click File. Share. Publish to web.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With