设置“发布到网络"在 Google 电子表格中使用 Drive python API

2022-01-10 00:00:00 python google-drive-api

问题描述

我正在尝试使用 Python 版本的 Google Drive API 在 Google 文档中模拟单击发布到网络"->立即开始发布".根据我对文档的模糊理解,我相信这应该可行:

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.

我希望能够以编程方式创建一个可供全世界立即访问的 Google 电子表格.

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


解决方案

原来上面代码片段返回的响应对象需要调用execute():

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.

相关文章