#python #pandas #google-sheets #google-sheets-api
Вопрос:
У меня есть около 600 листов Google, которые все очень похожи, где мне нужно получить значения из одного конкретного столбца. Я аутентифицировал приложение в консоли разработчика Google, поэтому у меня есть доступ к одному листу. Однако для этого мне пришлось предоставить доступ к учетной записи Службы изнутри самого листа. Эта учетная запись службы не имеет доступа к другим 599 листам, и я бы предпочел не просматривать и вручную предоставлять ей доступ к каждому листу.
У кого-нибудь есть идея о лучшем способе сделать это, либо аутентифицируя учетную запись службы для всех листов, либо используя лучший способ доступа к сотням листов Google с помощью python, который не будет означать, что мне нужно разрешить учетную запись? Моя учетная запись Google имеет доступ ко всем листам, если это поможет.
У меня был google, но я не могу понять, как это сделать! Любая помощь будет признательна.
Ответ №1:
Вы можете использовать разрешения: создать в API диска, чтобы создать новое разрешение для определенного файла на основе вашей предпочтительной роли.
Образец запроса через обозреватель API:
Идентификатор файла: Идентификатор файла листа, в который вы хотите добавить новое разрешение
{
"role": "writer",
"type": "user",
"emailAddress": "serviceaccount@email.com"
}
Пожалуйста, обратитесь сюда за более подробным объяснением относительно используемых ролей.
Поскольку ваша учетная запись Google имеет доступ ко всем листам, вам просто нужно получить список идентификаторов всех файлов ваших листов и ввести каждый идентификатор, чтобы создать новое разрешение для вашей учетной записи службы с помощью учетной записи Google.
Дополнительная ссылка: