'租户 GUID X 的租户不存在”,对于自己的电子邮件帐户(我是唯一的成员)
php小编鱼仔在解决电子邮件帐户问题时,可能会遇到错误信息“租户 GUID X 的租户不存在”,特别是当自己是唯一成员时。这个错误信息可能会导致无法登录或访问电子邮件帐户。针对这个问题,我们有一些解决方案可以尝试,以恢复对电子邮件帐户的访问和正常使用。在下文中,我们将介绍一些可能的解决方法和步骤,希望能对您解决问题提供帮助。
问题内容
我想阅读我的个人帐户的电子邮件,但收到“租户 guid x 的租户不存在”消息。
-
我在 https://entra.microsoft.com/ 上使用单租户创建了一个应用程序
-
然后我授予它发送电子邮件的权限
-
然后我创建了一个客户端密钥
-
然后我使用此代码来获取令牌:
import(""github.com/azuread/microsoft-authentication-library-for-go/apps/confidential") cred, err := confidential.newcredfromsecret("{secret value}") if err != nil { log.println(err) return } confidentialclient, err := confidential.new("https://login.microsoftonline.com/{tenant id}", "{client id}", cred) if err != nil { log.println(err) return } scopes := []string{"https://graph.microsoft.com/.default"} result, err := confidentialclient.acquiretokensilent(context.todo(), scopes) if err != nil { result, err = confidentialclient.acquiretokenbycredential(context.todo(), scopes) if err != nil { log.println(err) return } }
登录后复制 我使用该代码成功获取了令牌
{ "account": { "additionalfields": null }, "idtoken": { "rawtoken": "", "additionalfields": null }, "accesstoken": "{token}", "expireson": "2023-12-13t14:57:09.4905758-05:00", "grantedscopes": [ "https://graph.microsoft.com/.default" ], "declinedscopes": null }
登录后复制然后我获取用户 id(我是唯一的用户):
req, err := http.newrequest("get", "https://graph.microsoft.com/v1.0/users", nil) if err != nil { log.println(err) return } req.header.add("authorization", "{token}") client := http.client{} resp, err := client.do(req) if err != nil { log.println(err) return } body, err := io.readall(resp.body) if err != nil { log.println(err) return }
登录后复制但是当我尝试获取电子邮件时:
req, err := http.newrequest("get", "https://graph.microsoft.com/v1.0/users/{user_id}/messages", nil) if err != nil { log.println(err) return } req.header.add("authorization", "{token}") client := http.client{} resp, err := client.do(req) if err != nil { log.println(err) return } body, err := io.readall(resp.body) if err != nil { log.println(err) return }
登录后复制
我得到:
{ "error": { "code": "OrganizationFromTenantGuidNotFound", "message": "The tenant for tenant guid '0a6ac917-332a-4f47-881e-0b35fb1b2ab5' does not exist.", "innerError": { "oAuthEventOperationId": "c096c5c9-e743-4daa-9a97-d14d915e9842", "oAuthEventcV": "N0nHeUJm9gwnrFZefuEA4w.1.1", "errorUrl": "https://aka.ms/autherrors#error-InvalidTenant", "requestId": "c0272999-9743-44ee-98b5-947acc52e7d8", "date": "2023-12-13T19:11:22" } } }
错误上的id 0a6ac917-332a-4f47-881e-0b35fb1b2ab5
是tenand id0a6ac917-332a-4f47-881e-0b35fb1b2ab5
是tenand id
解决方法
要阅读个人 outlook 帐户的邮件,需要切换到委托流程(例如交互流程或生成访问令牌的授权码流程)并调用 /me/ messages
要阅读个人 outlook 帐户的邮件,需要切换到委托
流程(例如交互流程或生成访问令牌的授权码流程)并调用/me/ messages
端点。注册
多租户应用程序,帐户类型为“任何组织目录中的帐户(任何 microsoft entra id 租户 - 多租户)和个人 microsoft 帐户(例如 skype、xbox)
“:
如果您使用交互流生成令牌,请确保启用公共客户端选项:mail.read
或mail.readwrite
现在,根据您的需要在您的应用注册中添加
委托类型的mail.read
或/me/messages
mail.readwrite
端点:
package public_test
import (
"context"
"github.com/azuread/microsoft-authentication-library-for-go/apps/public"
)
func example() {
client, err := public.new("client_id", public.withauthority("https://login.microsoftonline.com/common"))
if err != nil {
}
var result public.authresult
scopes := []string{"https://graph.microsoft.com/.default"}
accounts, err := client.accounts(context.todo())
if err != nil {
// todo: handle error
}
if len(accounts) > 0 {
result, err = client.acquiretokensilent(context.todo(), scopes, public.withsilentaccount(accounts[0]))
}
if err != nil || len(accounts) == 0 {
result, err = client.acquiretokeninteractive(context.todo(), scopes)
if err != nil {
}
}
_ = result.account
_ = result.accesstoken
}
graph explorer
使用该帐户并运行以下查询来获取电子邮件:
以上是'租户 GUID X 的租户不存在”,对于自己的电子邮件帐户(我是唯一的成员)的详细内容。更多信息请关注PHP中文网其他相关文章!GET https://graph.microsoft.com/v1.0/me/messages

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

OpenSSL,作为广泛应用于安全通信的开源库,提供了加密算法、密钥和证书管理等功能。然而,其历史版本中存在一些已知安全漏洞,其中一些危害极大。本文将重点介绍Debian系统中OpenSSL的常见漏洞及应对措施。DebianOpenSSL已知漏洞:OpenSSL曾出现过多个严重漏洞,例如:心脏出血漏洞(CVE-2014-0160):该漏洞影响OpenSSL1.0.1至1.0.1f以及1.0.2至1.0.2beta版本。攻击者可利用此漏洞未经授权读取服务器上的敏感信息,包括加密密钥等。

Go语言中用于浮点数运算的库介绍在Go语言(也称为Golang)中,进行浮点数的加减乘除运算时,如何确保精度是�...

Go爬虫Colly中的Queue线程问题探讨在使用Go语言的Colly爬虫库时,开发者常常会遇到关于线程和请求队列的问题。�...

后端学习路径:从前端转型到后端的探索之旅作为一名从前端开发转型的后端初学者,你已经有了nodejs的基础,...

Go语言中字符串打印的区别:使用Println与string()函数的效果差异在Go...

在BeegoORM框架下,如何指定模型关联的数据库?许多Beego项目需要同时操作多个数据库。当使用Beego...

本文介绍在Debian系统下监控PostgreSQL数据库的多种方法和工具,助您全面掌握数据库性能监控。一、利用PostgreSQL内置监控视图PostgreSQL自身提供多个视图用于监控数据库活动:pg_stat_activity:实时展现数据库活动,包括连接、查询和事务等信息。pg_stat_replication:监控复制状态,尤其适用于流复制集群。pg_stat_database:提供数据库统计信息,例如数据库大小、事务提交/回滚次数等关键指标。二、借助日志分析工具pgBadg

Go语言中结构体定义的两种方式:var与type关键字的差异Go语言在定义结构体时,经常会看到两种不同的写法:一�...
