Я использую библиотеку gspread для подключения к API Google Sheets API v4 для создания новых Google Sheets с учетной записью службы. Я делюсь Листами с пользователем, который может читать и писать в файлы. Но пользователь не может их удалить. Я не могу передать права владельца пользователю, если я пытаюсь получить это сообщение об ошибке:
Право собственности может быть передано другому пользователю в том же домене, что и текущий владелец
Итак, теперь у меня на диске Google есть много файлов Google Sheet, которые пользователь не может удалить. Как мне это решить?
import os, gspread
from oauth2client.service_account import ServiceAccountCredentials
credsFile = self.getString('credentialsJsonFile')
credsPathAndFileName = os.path.join(GetStringValue('System.Profile'), credsFile)
SCOPES = ["https://spreadsheets.google.com/feeds",'https://www.googleapis.com/auth/spreadsheets',"https://www.googleapis.com/auth/drive.file","https://www.googleapis.com/auth/drive"]
creds = ServiceAccountCredentials.from_json_keyfile_name(credsPathAndFileName, SCOPES)
gc = gspread.authorize(creds)
sheetName = self.getStringValue('spreadsheetFileName')
sh = gc.create(sheetName)
shareUser1 = self.getStringValue('shareWithUser1')
shareGroup1 = self.getStringValue('shareWithGroup1')
if not shareUser1 == '':
sh.share(shareUser1, perm_type='user', role='owner')
if not shareGroup1 == '':
sh.share(shareGroup1, perm_type='group', role='owner')
worksheet = sh.get_worksheet(0)
worksheet.update_acell('A4', 'X-Mean')
worksheet.update_acell('A5', 'X-STD')