【发布时间】:2015-10-04 21:57:47
【问题描述】:
我正在尝试在不使用 OAuth 的情况下将谷歌日历集成到我的网络应用程序中。由于我使用的所有日历都是公开的,因此我尝试改用 API 密钥,以避免我的用户被重定向。
我目前正在使用日历事件示例并尝试使其与 API 密钥一起使用。代码如下:
import httplib2
import os
from apiclient import discovery
import datetime
SCOPES = 'https://www.googleapis.com/auth/calendar'
api_key = '************'
APPLICATION_NAME = 'Google Calendar API Quickstart'
def main():
service = discovery.build('calendar', 'v3', developerKey=api_key)
event = {
'summary': 'Google I/O 2015',
'location': '800 Howard St., San Francisco, CA 94103',
'description': 'A chance to hear more about Google\'s developer products.',
'start': {
'dateTime': '2015-05-28T09:00:00-07:00',
'timeZone': 'America/Los_Angeles',
},
'end': {
'dateTime': '2015-05-28T17:00:00-07:00',
'timeZone': 'America/Los_Angeles',
},
'recurrence': [
'RRULE:FREQ=DAILY;COUNT=2'
],
'attendees': [
{'email': '******@*****.com'},
],
'reminders': {
'useDefault': False,
'overrides': [
{'method': 'email', 'minutes': 24 * 60},
{'method': 'popup', 'minutes': 10},
],
},
}
event = service.events().insert(calendarId='primary', body=event).execute()
#print 'Event created: %s' % (event.get('htmlLink'))
if __name__ == '__main__':
main()
运行时它给我以下错误:googleapiclient.errors.HttpError: https://www.googleapis.com/calendar/v3/calendars/primary/events?alt=json&key=******* ** 返回“需要登录”>
任何帮助将不胜感激
【问题讨论】:
-
我不确定这是否正是您想要做的,但在这里使用服务帐户可能是一个不错的解决方案。 developers.google.com/accounts/docs/OAuth2#serviceaccount
标签: python google-calendar-api api-key