首页
学习
活动
专区
圈层
工具
发布

Python ETL
EN

Stack Overflow用户
提问于 2022-01-04 06:04:51
回答 1查看 176关注 0票数 0

我正试图为构建一个目录同步ETL,但我从代码片段中得到403。

代码语言:javascript
复制
from google.oauth2 import service_account
from googleapiclient.discovery import build

SCOPES = ['https://www.googleapis.com/auth/admin.directory.user.readonly']
SERVICE_ACCOUNT_FILE = './credentials.json' #TODO: these creds need to be passed in more safely.

credentials = service_account.Credentials.from_service_account_file(
        SERVICE_ACCOUNT_FILE, scopes=SCOPES)

service = build('admin', 'directory_v1', credentials=credentials)

results = service.users().list(domain='mydomain.com').execute()
users = results.get('users', [])

服务帐户已被授予域范围的委托,并且应该能够访问API。其他类似的帖子提到,域管理员必须批准请求,但如果我需要在没有任何管理员干预的情况下每周运行多次,这是没有意义的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-07 09:20:11

使用用户API需要用户管理管理角色(或等效的自定义角色)。您可以使用将此角色授予服务帐户。,这样就完全不需要域范围的委托了.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70574637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档