谷歌日历API - 服务帐户 - 没有谷歌应用域



是否可以在没有Google Apps 域的情况下将 Google 日历 API v3 与服务帐户一起使用?

基本上我想做的是使用 python 脚本在我自己的日历上创建一个事件,而无需脚本提示我输入用户和密码......有人知道吗?

我使用了这段代码,但没有运气:

import pprint
import pytz
import httplib2
import requests
from datetime import datetime, timedelta
from apiclient.discovery import build
from oauth2client.client import SignedJwtAssertionCredentials
with open('/home/xpto/service_account_certificate.pem', 'rb') as f:
  key = f.read()
service_account_name = '000000000000-j...@developer.gserviceaccount.com'
credentials = SignedJwtAssertionCredentials(
    service_account_name,
    key,
    scope=['https://www.googleapis.com/auth/calendar',
        'https://www.googleapis.com/auth/calendar.readonly'],
    sub='xpto@gmail.com')
http = httplib2.Http()
http = credentials.authorize(http)
service = build(serviceName='calendar', version='v3', http=http)

我收到此错误:

auth2client.client.AccessTokenRefreshError: unauthorized_client:请求中存在未经授权的客户端或范围

是的

- 只需创建一个服务帐户,这将为您提供该帐户的电子邮件地址。

然后,只需与该电子邮件地址共享您的日历,即可为其提供所需的任何权限。

授予 Google 资源对服务帐号的访问权限是有效的。就我而言,我尝试使用服务帐户将文件推送到Google云端硬盘。通过向服务帐户(电子邮件)授予我的谷歌驱动器上的文件夹的访问权限,我能够在我的帐户下的谷歌驱动器上查看文件和创建文件。

相关内容

  • 没有找到相关文章

最新更新