Jadual Kandungan
Kandungan soalan
解决方法
Rumah pembangunan bahagian belakang Golang 'Penyewa untuk penyewa GUID X tidak wujud' untuk akaun e-mel sendiri (saya satu-satunya ahli)

'Penyewa untuk penyewa GUID X tidak wujud' untuk akaun e-mel sendiri (saya satu-satunya ahli)

Feb 13, 2024 pm 04:20 PM

“租户 GUID X 的租户不存在”,对于自己的电子邮件帐户(我是唯一的成员)

editor 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 masuk
  • Kemudian 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 masuk
  • Tetapi 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"
        }
    }
}
Salin selepas log masuk

Id pada ralat 0a6ac917-332a-4f47-881e-0b35fb1b2ab5 ialah id penyewa 0a6ac917-332a-4f47-881e-0b35fb1b2ab5是tenand id

解决方法

要阅读个人 outlook 帐户的邮件,需要切换到委托流程(例如交互流程或生成访问令牌的授权码流程)并调用 /me/ messages

Penyelesaian

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.readmail.readwrite

Sekarang tambahkan

perwakilan

jenis mel.baca atau /me/messagesmel.tulis baca mengikut keperluan anda

Kebenaran:

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 (
    &quot;context&quot;

    &quot;github.com/azuread/microsoft-authentication-library-for-go/apps/public&quot;
)

func example() {
    client, err := public.new(&quot;client_id&quot;, public.withauthority(&quot;https://login.microsoftonline.com/common&quot;))
    if err != nil {
    }

    var result public.authresult
    scopes := []string{&quot;https://graph.microsoft.com/.default&quot;}

    accounts, err := client.accounts(context.todo())
    if err != nil {
        // todo: handle error
    }
    if len(accounts) &gt; 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
}
Salin selepas log masuk
Anda juga boleh log masuk ke

penjelajah graf

menggunakan akaun itu dan jalankan pertanyaan berikut untuk mendapatkan e-mel:

GET https://graph.microsoft.com/v1.0/me/messages
Salin selepas log masuk
Respon:

🎜🎜Rujukan: 🎜🎜 🎜🎜Microsoft Authentication-library-for-go/apps/public/example_test.go terletak di utama · azuread/microsoft-authentication-library-for-go · github🎜🎜

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

GO Language Pack Import: Apakah perbezaan antara garis bawah dan tanpa garis bawah? GO Language Pack Import: Apakah perbezaan antara garis bawah dan tanpa garis bawah? Mar 03, 2025 pm 05:17 PM

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

Bagaimana saya menulis objek dan stub untuk ujian di GO? Bagaimana saya menulis objek dan stub untuk ujian di GO? Mar 10, 2025 pm 05:38 PM

Bagaimana saya menulis objek dan stub untuk ujian di GO?

Bagaimana untuk melaksanakan pemindahan maklumat jangka pendek antara halaman dalam kerangka beego? Bagaimana untuk melaksanakan pemindahan maklumat jangka pendek antara halaman dalam kerangka beego? Mar 03, 2025 pm 05:22 PM

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 menentukan kekangan jenis tersuai untuk generik di GO? Mar 10, 2025 pm 03:20 PM

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

Bagaimana saya boleh menggunakan alat pengesanan untuk memahami aliran pelaksanaan aplikasi saya? Bagaimana saya boleh menggunakan alat pengesanan untuk memahami aliran pelaksanaan aplikasi saya? Mar 10, 2025 pm 05:36 PM

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? Bagaimanakah saya boleh menggunakan alat linter dan analisis statik untuk meningkatkan kualiti dan pemeliharaan kod pergi saya? Mar 10, 2025 pm 05:38 PM

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 menulis fail dalam bahasa Go dengan mudah? Mar 03, 2025 pm 05:15 PM

Bagaimana cara menulis fail dalam bahasa Go dengan mudah?

Bagaimana cara menukar senarai hasil pertanyaan mysql ke dalam slice struktur tersuai dalam bahasa Go? Bagaimana cara menukar senarai hasil pertanyaan mysql ke dalam slice struktur tersuai dalam bahasa Go? Mar 03, 2025 pm 05:18 PM

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

See all articles