1

我尝试使用java Directory API返回Google Documentation中列出的方法中的所有用户的列表,但我始终得到403权限错误。Google Directory API 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控制台我已经把管理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错误。

我正在周围和周围的房子与此。有谁知道我可能做错了什么?任何指针将非常感激。

回答

1

阿格我已经堕入了凭证缓存的犯规!

我一直在扩展一个应用程序来提供这个新的功能和测试与我以前登录过的用户。我正在使用应用程序引擎将凭据保留在应用程序引擎凭证存储中。在方法授权上,我们正在使用旧的缓存凭证,而不是新的认证凭证。

刷新应用程序引擎memcache并从凭证存储删除凭据解决了问题。

+0

请把它作为评论。 – Nilesh

相关问题