Я пишу скрипт python с помощью apiAPI Google Таблиц. Он считывает данные и записывает их в новый файл, делится этим файлом с указанным адресом электронной почты и возвращает идентификатор нового файла.Почему я получаю ошибку внутреннего сервера 500 из API Google Диска при добавлении пользователей в Лист Google на Python?
def read_sheet(self,spreadsheetId):
try:
result=self.service.spreadsheets().get(spreadsheetId=spreadsheetId,includeGridData=True,fields='namedRanges,properties,sheets').execute()
return result
except apiclient.errors.HttpError as e:
traceback.print_exc()
print(e)
sys.exit(1)
def create_spreadsheet(self,data,email):
try:
newid=self.service.spreadsheets().create(body=data,fields='spreadsheetId').execute()
newid=newid.get('spreadsheetId')
self.give_permissions(email,newid)
return newid
except apiclient.errors.HttpError as e:
traceback.print_exc()
print(e)
sys.exit(1)
Этот код работает очень хорошо, но не со 100% -ной точностью. Иногда я получаю 500 Internal Server Error, но файл создается в моей учетной записи. Я нашел аналогичный вопрос переполнения стека (Getting 500 Error when using Google Drive API to update permissions), но это не помогло. Я хочу знать точную причину этого. Может ли кто-нибудь помочь?
EDIT1:
Это точное сообщение об ошибке
https://www.googleapis.com/drive/v3/files/349hsadfhSindfSIins-rasdfisadfOsa3OQmE/permissions?sendNotificationEmail=true & альт = & transferOwnership JSON = ложь возвращается «внутренняя ошибка сообщение пользователя:.„внутренняя ошибка произошла, которые предотвратили доступ к элементу (ы): Шаблон“»>
Внутренняя ошибка сервера - защита от наводнений. Вы собираетесь поститься, вы должны реализовать какой-то экспоненциальный откат https://en.wikipedia.org/wiki/Exponential_backoff – DaImTo
Как его реализовать [email protected] –
Извините, я не эксперт по python. Попробуйте Googling для этого Я нашел это http://stackoverflow.com/q/27438273/1841839 – DaImTo