#python-3.x #google-calendar-api
#python-3.x #google-calendar-api
Вопрос:
Я создал очень маленькую функцию для очистки календаря Google с помощью API. API в целом работает.Ссылочный код со страниц разработчиков Google выглядит так:
service.calendars().clear('primary').execute()
и моя функция такова:
def clear_gcal(service):
someCal = '''my_calendar_address'''
service.calendars().clear(someCal).execute()
print("Some Google Cal cleared")
Запуская это с помощью служебной переменной, которая работает (я использую ее для добавления в календарь тоже без ошибок, я получаю «TypeError: метод () принимает 1 позиционный аргумент, но было задано 2».Все решения, которые я нахожу, используют self в ООП, но мой код просто функциональный (и я предпочитаю его таким образом для этого), так как я могу справиться с этим, казалось бы, довольно распространенным типом ошибки? Спасибо,
Traceback (most recent call last):
File "<ipython-input-87-d7bf7ff34210>", line 1, in <module> runfile('C:/Users/b017646/ExportCal/main.py', wdir='C:/Users/b017646/ExportCal')
File "C:ProgramDataAnaconda3libsite-packagesspyder_kernelscustomizespydercustomize.py", line 827, in runfile execfile(filename, namespace)
File "C:ProgramDataAnaconda3libsite-packagesspyder_kernelscustomizespydercustomize.py", line 110, in execfile exec(compile(f.read(), filename, 'exec'), namespace)
File "C:/Users/b017646/ExportCal/main.py", line 17, in <module> gcal.clear_gcal(service)
File "C:Usersb017646ExportCalgcal.py", line 48, in clear_gcal service.calendars().clear(deaCal).execute()
TypeError: method() takes 1 positional argument but 2 were given
GregersDK
Комментарии:
1. Сначала разделите его на несколько строк с одним вызовом метода в каждой строке, чтобы вы могли видеть, какой вызов метода вызывает ошибку.
Ответ №1:
Проблема:
Вы неправильно указываете calendarId
параметр.
Решение:
Вы должны сделать это вместо этого:
service.calendars().clear(calendarId='primary').execute()