两天以来,我一直在努力寻找问题,不知道为什么我现在会出现这个错误,即使应用程序在一个月前已经完全运行了。
在Web应用完成的任务中,它会调用Admin SDK API来获取组成员的列表。该应用程序具有范围https://www.googleapis.com/auth/admin.directory.group.readonly
,但我得到403错误未授权访问此资源/api(我验证了管理员SDK API在谷歌的控制台中启用)。顺便说一句,该应用程序之前向谷歌课堂应用编程接口发出请求没有问题。
这里最令人难以置信的是,应用程序机密是由管理员帐户生成的。当我使用同一个管理员帐户登录应用程序时,会出现此错误。但是,当我使用文档的(https://developers.google.com/admin-sdk/directory/v1/reference/members/list#response)我得到了200个回复,没有问题,授权范围完全相同。
使用此管理员帐户获取成员列表之前没有问题。从那以后,据我所知,源代码或配置没有任何变化。所以我认为这个问题可能在某种程度上与客户的秘密有关,但我不知道如何。
此web应用将仅由此管理员帐户使用
在我对StackOverflow的研究中,我发现大多数事情都在谈论“谷歌应用程序领域范围的授权”(https://developers.google.com/admin-sdk/directory/v1/guides/delegation),但我以前从未使用过它。我想避免这种情况。
你知道为什么我在web应用程序中出现403错误吗?即使它在文档中测试请求时有效,而且我使用的是超级管理员帐户?
编辑:基于这一要点,我现在测试了一个简单的代码片段“GoogleApps域范围的授权”https://gist.github.com/MeLight/1f4517560a9761317d13ebb2cdc670d3而这段代码本身就是有效的。然而,当在我的应用程序中使用它时,我仍然得到403错误。我快疯了,许可问题是什么?
最后,在我的头撞到墙上之后,我发现了问题所在:用来获取组成员的groupKey
https://www.googleapis.com/admin/directory/v1/groups/groupKey/members后面有一个空格。
对,就是这样。我只需要在代码中去掉字符串(Python中的一行),一切都很顺利。
我所做的一切,搜索权限/客户ID/授权似乎都是为了疯狂。
说真的,谷歌api中的403错误“未授权访问此资源/api”本可以更加明确。
我在使用PHP api实际版本的示例时遇到了一个问题,并且使用了examples文件夹的“service-account.PHP”文件。 null null 以下是错误堆栈: null null
问题内容: 我仅在使用PHP api实际版本的示例并使用examples文件夹的“ service-account.php”文件时遇到问题。 原来是用于显示“ Books API”的,并且通过我的个人凭据配置可以很好地工作,但是在我的xcase中,我需要通过directory.groups.get服务进行访问,以获取Google网上论坛邮件列表的会员帐户列表,所以我在其中更改了原始代码: 无论我做
null 这导致最后一行(codeDirmem.list/code...)出现异常403(未授权访问此资源/API)。 从文档(https://developers.google.com/admin-sdk/directory/v1/guides/delegation)和其他文章中,我看到解决方案是用 设置一个服务帐户用户。但是,这意味着我必须使用p12文件而不是json文件(Google建议您在
我试图在我的API中向一个endpoint发出请求,然而,每次试图访问执行器endpoint都会返回401错误,访问这个资源需要完全身份验证。我只是使用spring security对用户的密码进行加密,然后再将它们存储到数据库中。我已经检查了所有类似的问题,并执行了他们给出的所有解决方案,但仍然没有运气。 securityconfig.java userService.java
我创建了一个SpringBoot/SpringSecurity/React web应用程序,在本地运行良好,但当我尝试在DigitalOcean生产服务器上运行它时,它失败了 未经授权的错误:访问此资源需要完全身份验证 我没有使用oauth2,只是Spring安全。主页不需要身份验证,所以我不明白错误。建议?