我想读我的个人帐户的邮箱,但我得到"租户guid X的租户不存在".
-
I created an app using single tenant on 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 ID