如何创建一个 Google 文档,将常规文本作为 body?
How to create a Google Doc with regular text as the body?
我正在获取存储在 Google Sheet 中的信息,并尝试在 Google 文档中将其整齐地格式化。我正在使用 Google 文档 API here,但我没有遵循如何正确使用 JSON 表示的 'body:' 部分。
为了简单起见,您将如何创建一个标题为“Test”并且 body 只是说“Hello world!”的新文档。如果需要,我正在使用 Python 3.7.
感谢您的帮助!
我相信你的目标如下。
- 来自
how would you create a new document with the title "Test" and the body just saying "Hello world!".
,我了解到您想使用 python. 将 Hello world!
的文本作为新的 Google 文档上传
问题和解决方法:
我觉得在这种情况下,我想建议使用DriveAPI。因为现阶段使用Google Docs API时,需要调用2个API如下,因为documents.create
的方法不能包含正文.
所以,在这个回答中,我想建议在Drive API中使用Files: create
的方法。 Ref使用此方法,一次API调用即可达到目的。
python 使用 googleapis 的示例脚本如下。
示例脚本:
这种情况下,请使用Quickstart的授权脚本。在这种情况下,请使用 https://www.googleapis.com/auth/drive
作为范围。
drive = build('drive', 'v3', credentials=creds)
text = 'Hello world!'
media = MediaIoBaseUpload(io.BytesIO(text.encode('utf-8')), mimetype='text/plain', resumable=True)
file_metadata = {"name": "Test", "mimeType": "application/vnd.google-apps.document"}
file = drive.files().create(body=file_metadata, media_body=media).execute()
print(file)
- 当上述脚本为运行时,将创建文件名为
Test
的新Google文档,正文为Hello world!
.
- 在这种情况下,也使用
from googleapiclient.http import MediaIoBaseUpload
。
注:
如果需要使用Google文档API,也可以使用下面的脚本。在这种情况下,结果与上面的示例脚本相同。
docs = build('docs', 'v1', credentials=creds)
text = 'Hello world!'
res1 = docs.documents().create(body={"title": "Test"}).execute()
requests = [{"insertText": {"location": {"index": 1}, "text": text}}]
res2 = docs.documents().batchUpdate(documentId=res1.get('documentId'), body={"requests": requests}).execute()
print(res2)
参考文献:
我正在获取存储在 Google Sheet 中的信息,并尝试在 Google 文档中将其整齐地格式化。我正在使用 Google 文档 API here,但我没有遵循如何正确使用 JSON 表示的 'body:' 部分。
为了简单起见,您将如何创建一个标题为“Test”并且 body 只是说“Hello world!”的新文档。如果需要,我正在使用 Python 3.7.
感谢您的帮助!
我相信你的目标如下。
- 来自
how would you create a new document with the title "Test" and the body just saying "Hello world!".
,我了解到您想使用 python. 将
Hello world!
的文本作为新的 Google 文档上传
问题和解决方法:
我觉得在这种情况下,我想建议使用DriveAPI。因为现阶段使用Google Docs API时,需要调用2个API如下,因为documents.create
的方法不能包含正文.
所以,在这个回答中,我想建议在Drive API中使用Files: create
的方法。 Ref使用此方法,一次API调用即可达到目的。
python 使用 googleapis 的示例脚本如下。
示例脚本:
这种情况下,请使用Quickstart的授权脚本。在这种情况下,请使用 https://www.googleapis.com/auth/drive
作为范围。
drive = build('drive', 'v3', credentials=creds)
text = 'Hello world!'
media = MediaIoBaseUpload(io.BytesIO(text.encode('utf-8')), mimetype='text/plain', resumable=True)
file_metadata = {"name": "Test", "mimeType": "application/vnd.google-apps.document"}
file = drive.files().create(body=file_metadata, media_body=media).execute()
print(file)
- 当上述脚本为运行时,将创建文件名为
Test
的新Google文档,正文为Hello world!
. - 在这种情况下,也使用
from googleapiclient.http import MediaIoBaseUpload
。
注:
如果需要使用Google文档API,也可以使用下面的脚本。在这种情况下,结果与上面的示例脚本相同。
docs = build('docs', 'v1', credentials=creds) text = 'Hello world!' res1 = docs.documents().create(body={"title": "Test"}).execute() requests = [{"insertText": {"location": {"index": 1}, "text": text}}] res2 = docs.documents().batchUpdate(documentId=res1.get('documentId'), body={"requests": requests}).execute() print(res2)