Общий диск Google внезапно возвращает ошибку 404 со служебной учетной записью
У меня есть учетная запись службы Google Cloud Platform с включенным делегированием домена и
До недавнего времени у сервера, использующего эту учетную запись, не было проблем с подключением к трем разным дискам, созданием папок под ними или возвратом содержимого папки. Сервер использовал эту учетную запись с начала / середины 2020 года, и эти вызовы API долгое время работали правильно.
Теперь сервер получает сообщение 404 при попытке создать папки под диском или перечислить содержимое каталога под диском. Диск и эти папки определенно существуют - я могу получить к ним доступ на веб-странице Google Диска. Это наводит меня на мысль, что это проблема с разрешениями, но я ничего не нашел при поиске. Ничего не изменилось в отношении учетной записи службы или нашего сервера, о которых я знаю.
Это код для создания папки под диском, который теперь возвращает 404 и сообщает мне, что диск не существует (я использую
file_metadata = {
'name': name,
'mimeType': 'application/vnd.google-apps.folder',
'parents': [drive_id]
}
file = service.files().create(body=file_metadata, fields='id', supportsAllDrives=True).execute()
Кроме того, это проблема только для двух из трех дисков, к которым подключается этот сервер. Один по-прежнему работает правильно, поэтому я понятия не имею, что изменилось, чтобы вызвать эту проблему с двумя из трех дисков. Я думаю, что это началось только в последние несколько недель, потому что мои пользователи уведомили меня только за последние несколько недель, а страница показателей не показывает никаких проблем до 12-го числа (но я могу видеть только последние 30 дней):
Документация Google по этому поводу не помогает решить проблему: https://developers.google.com/drive/api/v3/handle-errors#resolve_a_404_error_file_not_found_fileid
Может ли кто-нибудь помочь мне разобраться в этом или указать правильное направление?
1 ответ
Извините, что потратили время впустую - проблема, похоже, заключалась в том, что учетная запись службы была удалена у участников диска пользователем, который не знал, что они делают. Я не был разработчиком, который настраивал это, и у меня нет опыта работы с API Google Диска, поэтому я не знал, что нужно проверять участников диска для учетной записи службы.
Для других, у кого может быть такая же проблема:
Следуйте этому ответу, чтобы узнать, является ли сервисная учетная запись по-прежнему участником, и при необходимости добавьте ее.
Вы можете проверить https://admin.google.com/ac/reporting/audit/drive и отфильтровать
Event name: Shared Drive Membership Change
чтобы узнать, кто удалил учетную запись службы.