首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google 403未授权访问此资源/API

Google 403未授权访问此资源/API
EN

Stack Overflow用户
提问于 2016-08-18 06:40:44
回答 4查看 8.9K关注 0票数 5

我在java web应用程序中使用以下代码尝试获取组的所有用户:

代码语言:javascript
复制
GoogleCredential credential = GoogleCredential.fromStream(Util.class.getResourceAsStream("[credential_file].json")).createScoped(SCOPES);

Directory directory = new Directory.Builder(httpTransport, JSON_FACTORY, credential).build();

Directory.Members dirMem = directory.members();
Members members = dirMem.list("[group_email]").execute();

这将导致最后一行(dirMem.list.)上出现异常403 (未授权访问此资源/API)。

从文档(https://developers.google.com/admin-sdk/directory/v1/guides/delegation)和其他帖子中,我看到了解决方案是使用setServiceAccountUser()设置服务帐户用户。但是,这意味着我必须使用p12文件而不是json文件(Google建议在创建密钥时使用json文件)。

在仍然使用json文件(它还涉及较少的代码)时,有什么方法可以解决这个问题吗?

谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-08-18 08:17:45

现在,我只是在使用下面概述的p12文件:

https://developers.google.com/admin-sdk/directory/v1/guides/delegation

如果有人知道用json文件执行这个问题中的代码的方法,可以随意评论/回答。

票数 1
EN

Stack Overflow用户

发布于 2017-06-20 21:10:19

正如this answer to a related question所建议的,包括sub (subject,我认为)在您的Google帐户中指示委托管理员的电子邮件地址是API调用工作的必要步骤。该委托管理员可能还需要被授权访问/修改您正在调用的数据或端点。由于我的经验是使用PHP客户机,而不是Java,所以我不知道您将如何向示例中使用的Java类提供电子邮件地址。

票数 3
EN

Stack Overflow用户

发布于 2017-02-18 09:34:56

由于JSON凭据不受serviceAccountUser支持,所以我已经解决了这一问题:创建凭证副本。

参见这里的代码:https://stackoverflow.com/a/42313446/548473

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

https://stackoverflow.com/questions/39011470

复制
相关文章

相似问题

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