


'Penyewa untuk penyewa GUID X tidak wujud' untuk akaun e-mel sendiri (saya satu-satunya ahli)
Feb 13, 2024 pm 04:20 PMeditor php Yuzai mungkin menghadapi mesej ralat "Penyewa dengan penyewa GUID X tidak wujud" semasa menyelesaikan masalah akaun e-mel, terutamanya apabila anda seorang ahli. Mesej ralat ini mungkin menghalang anda daripada log masuk atau mengakses akaun e-mel anda. Untuk isu ini, kami mempunyai beberapa penyelesaian yang anda boleh cuba memulihkan akses dan penggunaan biasa akaun e-mel anda. Di bawah, kami akan menerangkan beberapa kemungkinan penyelesaian dan langkah yang kami harap dapat membantu anda menyelesaikan isu anda.
Kandungan soalan
Saya ingin membaca e-mel untuk akaun peribadi saya tetapi saya mendapat mesej "Penyewa untuk penyewa guid x tidak wujud".
-
Saya mencipta aplikasi menggunakan penyewa tunggal di https://entra.microsoft.com/
-
Kemudian saya memberi kebenaran untuk menghantar e-mel
-
Kemudian saya mencipta kunci pelanggan
-
Kemudian saya menggunakan kod ini untuk mendapatkan token:
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 } }
Salin selepas log masuk Saya berjaya mendapatkan token menggunakan kod ini
{ "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 }
Salin selepas log masukKemudian saya mendapat id pengguna (saya satu-satunya pengguna):
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 }
Salin selepas log masukTetapi apabila saya cuba mendapatkan e-mel:
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 }
Salin selepas log masuk
Saya mendapat:
{ "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 pada ralat 0a6ac917-332a-4f47-881e-0b35fb1b2ab5
ialah id penyewa 0a6ac917-332a-4f47-881e-0b35fb1b2ab5
是tenand id
解决方法
要阅读个人 outlook 帐户的邮件,需要切换到委托流程(例如交互流程或生成访问令牌的授权码流程)并调用 /me/ messages
Untuk membaca mel daripada melihat peribadi anda perlu bertukar kepada akaun
proses (cth. proses interaksi atau proses kod kebenaran yang menjana token akses) dan memanggil titik akhir/me/message
. Daftar
Multi-penyewa apl dengan jenis akaun "Akaun dalam mana-mana direktori organisasi (mana-mana penyewa microsoft entra id - multitenant) dan akaun microsoft peribadi (cth. skype, xbox)
":
Jika anda menggunakan aliran interaksi untuk menjana token, pastikan anda mendayakan pilihan Klien Awam: mail.read
或mail.readwrite
Sekarang tambahkan
perwakilan jenis /me/messages
Untuk menjana < /strong>token akses
menggunakan aliran interaksi, anda boleh merujuk kepada contoh kod go ini dan kemudian menggunakannya untuk memanggil titik akhir:
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
}
penjelajah graf
menggunakan akaun itu dan jalankan pertanyaan berikut untuk mendapatkan e-mel:
Atas ialah kandungan terperinci 'Penyewa untuk penyewa GUID X tidak wujud' untuk akaun e-mel sendiri (saya satu-satunya ahli). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!GET https://graph.microsoft.com/v1.0/me/messages

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

GO Language Pack Import: Apakah perbezaan antara garis bawah dan tanpa garis bawah?

Bagaimana saya menulis objek dan stub untuk ujian di GO?

Bagaimana untuk melaksanakan pemindahan maklumat jangka pendek antara halaman dalam kerangka beego?

Bagaimana saya boleh menentukan kekangan jenis tersuai untuk generik di GO?

Bagaimana saya boleh menggunakan alat pengesanan untuk memahami aliran pelaksanaan aplikasi saya?

Bagaimanakah saya boleh menggunakan alat linter dan analisis statik untuk meningkatkan kualiti dan pemeliharaan kod pergi saya?

Bagaimana cara menulis fail dalam bahasa Go dengan mudah?

Bagaimana cara menukar senarai hasil pertanyaan mysql ke dalam slice struktur tersuai dalam bahasa Go?
