为了账号安全,请及时绑定邮箱和手机立即绑定

是否有可用于 google calendar api 的管理员帐户?

是否有可用于 google calendar api 的管理员帐户?

凤凰求蛊 2021-10-05 17:04:59
我使用这个谷歌日历 api 代码来开发(你可以在这里找到代码):from __future__ import print_functionimport datetimefrom googleapiclient.discovery import buildfrom httplib2 import Httpfrom oauth2client import file, client, tools# If modifying these scopes, delete the file token.json.SCOPES = 'https://www.googleapis.com/auth/calendar.readonly'def main():    """Shows basic usage of the Google Calendar API.    Prints the start and name of the next 10 events on the user's calendar.    """    # The file token.json stores the user's access and refresh tokens, and is    # created automatically when the authorization flow completes for the first    # time.    store = file.Storage('token.json')    creds = store.get()    if not creds or creds.invalid:        flow = client.flow_from_clientsecrets('./credentials.json', SCOPES)        creds = tools.run_flow(flow, store)    service = build('calendar', 'v3', http=creds.authorize(Http()))    # Call the Calendar API    now = datetime.datetime.utcnow().isoformat() + 'Z' # 'Z' indicates UTC time    print('Getting the upcoming 10 events')    events_result = service.events().list(calendarId='primary', timeMin=now,                                        maxResults=10, singleEvents=True,                                        orderBy='startTime').execute()    events_result = service.events().list(calendarId='primary',timeMin=now,).execute()    events = events_result.get('items', [])    if not events:        print('No upcoming events found.')    for event in events:        start = event['start'].get('dateTime', event['start'].get('date'))        print(start, event['summary'])if __name__ == '__main__':    main()我在使用日历API开发的时候,第一次点击页面的权限按钮,pycharm控制台就可以返回输出了。有没有管理员账号可以控制100多人的账号?比如我们公司有100人,如果我要获取100人的数据,是否需要获取100人的账户信息(Gmail账户和密码)和credentials.json文件?当我第一次运行每个人的credentials.json文件的代码时,我需要为100个人点击100次“承认”,这不好。我希望有管理员权限来简化这个操作。有没有管理员账号可以控制这100个人?我需要下载 100 个人的凭据.json 文件吗?下一步应该点击哪个,如何获取大家的json文件?
查看完整描述

3 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

是的,这称为G Suite 域范围委派。直接从链接的指南:

在企业应用程序中,您可能希望以编程方式访问用户的数据,而无需他们进行任何手动授权。在 G Suite 域中,域管理员可以授予第三方应用对其用户数据的全域访问权限——这称为全域授权。为了以这种方式委派权限,域管理员可以使用 OAuth 2.0 的服务帐户。


查看完整回答
反对 回复 2021-10-05
?
PIPIONE

TA贡献1829条经验 获得超9个赞

这是管理员信息页面

使用管理员帐户登录。

下载管理员的凭据.json。

像这样使用管理员帐户添加gmail地址,输入fmail地址:

//img1.sycdn.imooc.com//615c155f000159ea12810636.jpg

然后单击Settings and sharing,然后您将找到 calendarId。

//img1.sycdn.imooc.com//615c156d0001507f03860400.jpg

如果你公司有20人,重复这个操作20次,然后把20人的calendarId放到list里循环。


查看完整回答
反对 回复 2021-10-05
  • 3 回答
  • 0 关注
  • 267 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信