繁体   English   中英

Google Calendar API-日历上的404(服务帐户)

[英]Google Calendar API - 404 on calendar (service account)

我的简单日历API包装器有问题。

我的代码:

key_file = open('api_key.p12', 'rb')
key = key_file.read()
key_file.close()

credentials = SignedJwtAssertionCredentials(
 config.SERVICE_ACCOUNT_EMAIL,
 key,
 scope='https://www.googleapis.com/auth/calendar'
)
http = httplib2.Http()
http = credentials.authorize(http)

service = build("calendar", "v3", http=http)

我称它为:

service.events().insert(calendarId=calendar_id,
                               body=event_body).execute()

而且我总是

HttpError: <HttpError 404 when requesting   https://www.googleapis.com/calendar/v3/calendars/my_company_resource_id@resource.calendar.google.com?alt=json returned "Not Found">

当我使用“普通” OAuth2范围(在本地Web浏览器中进行授权)时,它可以工作,但我想在无头服务器上部署我的应用程序,因此必须使用服务帐户。 我在Google Apps管理面板中为Calendar api授予了权限,但是它不起作用。

有任何想法吗?

您还必须提供有权访问此日历的用户电子邮件。 请参见以下示例:

  credentials = SignedJwtAssertionCredentials(SERVICE_ACCOUNT_EMAIL, key,
      scope='https://www.googleapis.com/auth/calendar', sub=user_email)

您可以在此页面上找到如何创建凭证对象的好例子: 实例化Drive服务对象 (“ Python”标签)。 它显示了Drive API的示例,但您也可以将其用于Calendar API。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM