【问题标题】:Google Directory API 403 Insufficient Permission errors when requesting all account users请求所有帐户用户时出现 Google Directory API 403 Insufficient Permission 错误
【发布时间】:2013-10-15 04:31:25
【问题描述】:

我正在尝试使用 java Directory API 按照Google Documentation 中概述的方法返回帐户中所有用户的列表,但是我始终收到 403 权限错误。

使用 Java SDK,我的代码如下所示,执行时 403 失败:

Directory directory = new Directory.Builder(TRANSPORT, JSON_FACTORY, getCredential()).setApplicationName(PRODUCT_FULL_NAME).build();

Directory.Users.List list = directory.users().list();
list.setCustomer("my_customer");
com.google.api.services.admin.directory.model.Users users = list.execute();

在我的 App Engine API 控制台中,我已打开 Admin SDK,并且我已设置权限以请求以下授权范围(在控制台中和以编程方式)。

https://www.googleapis.com/auth/admin.directory.user https://www.googleapis.com/auth/admin.directory.user.readonly

我没有使用服务帐户,而是授权为“超级管理员”。通过管理控制台,我启用了 API 访问。

使用 Google 提供的 "try it" form 功能获取列表有效。但是,即使我调整我的代码来执行 HTTP 获取而不是使用 java Directory API,我仍然会收到 403 错误。

我带着这个在房子周围转来转去。有谁知道我可能做错了什么?任何指针将不胜感激。

【问题讨论】:

    标签: java google-app-engine google-admin-sdk google-provisioning-api


    【解决方案1】:

    啊,我犯了凭证缓存问题!

    我一直在扩展应用程序以提供此新功能,并与我之前登录的用户进行测试。我正在使用应用引擎将凭据保存在应用引擎凭据存储中。在方法授权时,我们使用的是旧的缓存凭据,而不是新验证的凭据。

    刷新应用引擎内存缓存并从凭据存储中删除凭据解决了该问题。

    【讨论】:

    • 请将此作为评论。
    猜你喜欢
    • 2015-12-28
    • 1970-01-01
    • 2013-10-11
    • 2018-03-16
    • 1970-01-01
    • 2013-10-25
    • 1970-01-01
    • 2013-09-10
    • 2022-11-11
    相关资源
    最近更新 更多