![](/img/trans.png)
[英]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.