我在使用 Google 新的 Admin SDK 时遇到了困难。特别是使用 Oauth2 的 Directory API。我想我快到了,但我在尝试使用 Directory API 检索用户详细信息时遇到了困难(我使用的是 Google Education Edition 域)。
基本上,我要做的是编写一个 python 脚本,根据我们的 AD 管理的注册状态来配置或取消配置用户。我有一个使用 Oauth1 执行此操作的脚本,但想将其更新为使用 Oauth2。
这是基于我找到的一些示例的代码片段。
f = file('test_key.p12', 'rb')
key = f.read()
f.close()
credentials = SignedJwtAssertionCredentials(
'606346240424-10stfco1ukj9h4m4b4r40@developer.gserviceaccount.com',
key,
scope= 'https://www.googleapis.com/auth/admin.directory.user')
http = httplib2.Http()
http = credentials.authorize(http)
service = build(serviceName='admin', version='directory_v1', http=http)
lists = service.users().get(userKey='joe.blogs@mydomain.com').execute(http=http)
pprint.pprint(lists)
这段代码似乎连接正确,但是当我尝试执行查询时出现 403 错误。
错误:https://www.googleapis.com/admin/directory/v1/users/joe.blogs@mydomain.com?alt=json 返回“未授权访问此资源/api”>
我的第一个想法是因为我没有在管理员控制台(谷歌 API 的控制台)上打开这个 API,但我有。(实际上我打开了 Admin SDK 而不是 Directory API,因为没有要打开的 Directory API 并看到它是 Admin SDK 的一部分,它可以工作吗?)。
我是否还缺少另一个步骤,或者我在某个地方犯了一个愚蠢的错误?