我想使用python创建一个带谷歌日历API的活动。我使用了这里的示例代码 https://developers.google.com/google-apps/calendar/v3/reference/events/insert
我认为GMT会成为一个问题,但后来我也改变了GMT,就像使用谷歌日历设置的代码一样。但仍然有同样的错误。完整代码如下所示
Traceback (most recent call last):
File "D:/cs/projects/googleApi/quickstart.py", line 106, in <module>
main()
File "D:/cs/projects/googleApi/quickstart.py", line 102, in main
event = service.events().insert(calendarId='primary', body=event).execute()
File "D:\cs\anaconda\lib\site-packages\oauth2client\_helpers.py", line 133, in positional_wrapper
return wrapped(*args, **kwargs)
File "D:\cs\anaconda\lib\site-packages\googleapiclient\http.py", line 840, in execute
raise HttpError(resp, content, uri=self.uri)
googleapiclient.errors.HttpError: <HttpError 403 when requesting https://www.googleapis.com/calendar/v3/calendars/primary/events?alt=json returned "Insufficient Permission">
错误是:
FirstName SecondName 00:01
FirstName SecondName 00:00
FirstName SecondName 00:02
ThirdName FourthName 00:01
ThirdName FourthName 00:02
ThirdName FourthName 00:00
我是谷歌API的新手。我发现了一些类似的问题,但它们用于gmail或其他服务,但没有日历。什么可能是错误的解决方案。可以请任何人帮忙吗?
答案 0 :(得分:3)
您已通过以下scope
进行了身份验证&#39; https://www.googleapis.com/auth/calendar.readonly&#39;
此范围允许只读,只有您无权插入使用此权限。
答案 1 :(得分:1)
这里的实际解决方案是使用:
SCOPES = 'https://www.googleapis.com/auth/calendar'
然后发表评论:
# If modifying these scopes, delete your previously saved credentials
# at ~/.credentials/calendar-python-quickstart.json
进入'〜/ .credentials /'并删除文件'calendar-python-quickstart.json'
答案 2 :(得分:-1)
我有同样的问题但解决了如下:
由于@DalmTo作为评论提及,您必须在将范围从client_secret.json
更改为.credentials
后删除https://www.googleapis.com/auth/calendar.readonly
文件夹中的https://www.googleapis.com/auth/calendar
文件。
答案 3 :(得分:-1)
请按照以下步骤操作,并确定已解决此问题。