我可以在“我的驱动器”的根目录下创建带有以下代码的工作表,但是如何在“我的驱动器”或“共享驱动器”中的文件夹下创建工作表?
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云端硬盘中的特定文件夹。为了创建电子表格,使用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云端硬盘中的特定文件夹。
脚本:# 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
。添加范围后,请删除创建的凭证文件(包括刷新令牌),然后再次授权。这样,其他作用域将反映到刷新令牌。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()
如果我误解了你的问题,而这不是你想要的方向,我深表歉意。