当前位置: 首页 > 知识库问答 >
问题:

Gmail Api在请求中返回未经授权的客户端或作用域

易祖鹤
2023-03-14

我努力做到这一点,但完成了一半的工作。

实际上,如果我尝试使用Gmail,我只能从Gmail API读取消息。修改范围我收到错误:

HttpAccessTokenRefreshError:unauthorized\u客户端:请求中的未授权客户端或作用域。

这是我的代码:

# init gmail api
credentials_path = os.path.join(settings.PROJECT_DIR, 'settings/gmail_credential.json')
scopes = ['https://www.googleapis.com/auth/gmail.readonly',
          'https://www.googleapis.com/auth/gmail.modify']
credentials = ServiceAccountCredentials.from_json_keyfile_name(credentials_path, scopes=scopes)
delegated_credentials = credentials.create_delegated('my_account@gmail.com')
http_auth = delegated_credentials.authorize(Http())
gmail = build('gmail', 'v1', http=http_auth)

在我的服务号:

  • 我已将所有可能的资源设置到我的服务帐户“…iam.gserviceaccount.com”
  • 我激活了DWD:DWD:Google应用程序域范围委派已启用

我在某处读到,我需要一个谷歌工作帐户来允许我的服务号使用gmail。修改我的my_account@gmail电子邮件帐户。似乎很难修改电子邮件中的消息。

我不知道下一步该怎么办。

共有1个答案

常嘉平
2023-03-14

根据此留档,当您设置API范围时,您需要使用“开发人员控制台”中的客户端ID作为“管理API客户端访问”中的客户端名称。Google API无法按预期使用您的个人帐户@gmail.com.您应该在Google中拥有格式you@your_organisation_domain的组织域帐户。

检查这些线程:

  • Google API Python unauthorized\u客户端:请求中的未授权客户端或范围
 类似资料:
  • 我正在尝试从我的 ASP MVC Web 应用程序在 C# 中设置 Office 365 集成,为此我使用的是 Outlook Mail REST API(客户端版本)。我一直在这里使用 API 参考:https://msdn.microsoft.com/office/office365/APi/mail-rest-operations 我可以登录Office 365,并获取令牌,然后读取邮件文件

  • 我的授权码请求: 我正在用这个得到授权码。但是每当我使用此代码发送access_token请求时,我都会得到一个错误。(代码400)

  • 1,有效,2不可行。 返回的错误是“刷新OAuth2令牌时出错,消息:”{“error”:“unauthorized_client”,“error_description”:“请求中未授权的客户端或作用域。”}“ 所有3个帐户都在开发人员控制台中注册。所有3个都被授权在谷歌应用程序控制台内进行“托管客户端API访问”。所有3个都有作用域“https://www.googleapis.com/aut

  • 我尝试使用angular2通过Oauth2身份验证访问我的Spring Boot应用程序。当我用基本身份验证(包括用户名和密码)向“oauth/token”发送post请求以获取token(在postman中可以正常工作)时,我得到了一个401未经授权。我知道我的浏览器用OPTIONS方法发送飞行前请求,我已经实现了我的安全配置,因此它应该忽略并允许OPTIONS请求,但它不起作用。 以下是我的安

  • 试图让OAuth2谷歌登录工作,这是我的应用程序发出的原始请求: : : : : 这是回应: 状态: null 对此的帮助将不胜感激。我试图在我的应用程序中设置OAuth2支持的“用X登录”功能,已经让脸书和推特没有问题地工作,也想让谷歌工作,但如果我不能解决这个问题,我恐怕我将不得不放弃谷歌Auth。

  • 我正在尝试登录基于cloudflare服务器的网站。我使用cloudserver绕过了登录问题,但我的下一个停止点是当我试图发送get请求以访问一些登录后令牌时。 我的代码: 这返回401作为答案: 它的标题是 好的,我首先试着给一个auth。这样地 我再次得到相同的错误,401,但这次响应的头确实有一个www身份验证,我应该质询 根据我所读到的内容,它是基本的意味着我必须在我的头文件中添加一个像