[英]Python - Create & Publish Google Sheet to Website via Google Sheet API
[英]How to create a sheet under a specific folder with google API for python?
我可以在“我的云端硬盘”的根目录中使用以下代码创建工作表,但是如何在“我的云端硬盘”或“共享驱动器”的文件夹下创建工作表?
from googleapiclient.discovery import build
service = build(‘sheets’, ‘v4’, credentials=creds)
sheet = service.spreadsheets()
body = {}
results = sheet.create(body=body).execute()
pprint(results)
如果我的理解是正确的,这个答案怎么样?
不幸的是,在当前阶段,无法使用 Sheets API 将新的电子表格直接创建到 Google Drive 的特定文件夹中。 在这种情况下,需要使用驱动器 API。
在运行脚本之前,请设置文件夹 ID。
在这种模式下,新的电子表格会直接创建到您 Google Drive 中的特定文件夹中。 为了创建电子表格,使用了application/vnd.google-apps.spreadsheet
的 mimeType。
drive = build('drive', 'v3', credentials=creds) file_metadata = { 'name': 'sampleName', 'parents': ['### folderId ###'], 'mimeType': 'application/vnd.google-apps.spreadsheet', } res = drive.files().create(body=file_metadata).execute() print(res)
在此模式中,在 Sheets API 创建新的电子表格后,电子表格将移动到您的 Google Drive 中的特定文件夹。
脚本: # Create Spreadsheet to the root folder. service = build('sheets', 'v4', credentials=creds) sheet = service.spreadsheets() body = {} results = sheet.create(body=body).execute() pprint(results) # Move the created Spreadsheet to the specific folder. drive = build('drive', 'v3', credentials=creds) folderId = '### folderId ###' res = drive.files().update(fileId=results['spreadsheetId'], addParents=folderId, removeParents='root').execute() print(res)
https://www.googleapis.com/auth/drive
的 scope 。 添加范围后,请删除创建的包含刷新令牌的凭据文件并重新授权。 这样,额外的范围就会反映到刷新令牌中。file_metadata = {'name': 'sampleName','parents': ['### folderId ###'],'mimeType': 'application/vnd.google-apps.spreadsheet','driveId': "###"}
res = drive.files().create(body=file_metadata, supportsAllDrives=True).execute()
res = drive.files().update(fileId=results['spreadsheetId'], body={'driveId': "###"}, addParents=folderId, removeParents='root', supportsAllDrives=True).execute()
如果我误解了您的问题并且这不是您想要的方向,我深表歉意。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.