Ralat 'Dapatkan token akses kosong' semasa menjalankan kod contoh latihan msgraph-sdk-go

WBOY
Lepaskan: 2024-02-09 08:12:30
ke hadapan
572 orang telah melayarinya

运行 msgraph-sdk-go 训练示例代码时出现“获取访问令牌为空”错误

Editor PHP Xiaoxin hari ini membawakan anda soalan tentang kod contoh latihan msgraph-sdk-go. Semasa larian, anda mungkin menghadapi ralat "Dapatkan token akses kosong". Ralat ini boleh menyebabkan kod gagal dilaksanakan dengan betul dan menjejaskan keputusan latihan. Dalam artikel ini, kami akan memperkenalkan punca dan penyelesaian masalah ini secara terperinci untuk membantu anda menjalankan kod sampel dengan lancar dan menikmati pengalaman latihan yang lebih baik.

Kandungan soalan

Apabila cuba menjalankan kod latihan msgraph-sdk-go dari sini: https://github.com/microsoftgraph/msgraph-training-go, saya menerimainvalidauthenticationtokenmsg:执行图形 api 调用时访问令牌为空. Saya mengkonfigurasi akaun pembangun Microsoft dengan kotak pasir segera untuk kegunaan percubaan. Saya mencipta pendaftaran aplikasi seperti yang diterangkan dalam tutorial di sini dan memberikan permohonan kebenaran yang diperlukan. Kod ini boleh mendapatkan apptoken, tetapi panggilan untuk mendapatkan pengguna gagal dengan ralat di atas. Adakah saya kehilangan sesuatu di sini?

Saya mencuba kod berikut daripada contoh msgraph-training

func (g *graphhelper) initializegraphforappauth() error { clientid := os.getenv("client_id") tenantid := os.getenv("tenant_id") clientsecret := os.getenv("client_secret") credential, err := azidentity.newclientsecretcredential(tenantid, clientid, clientsecret, nil) if err != nil { return err } g.clientsecretcredential = credential // create an auth provider using the credential authprovider, err := auth.newazureidentityauthenticationproviderwithscopes(g.clientsecretcredential, []string{ "https://graph.microsoft.com/.default", }) if err != nil { return err } // create a request adapter using the auth provider adapter, err := msgraphsdk.newgraphrequestadapter(authprovider) if err != nil { return err } // create a graph client using request adapter client := msgraphsdk.newgraphserviceclient(adapter) g.appclient = client return nil } // this part works, and i get the apptoken with required scope, once decoded. func (g *graphhelper) getapptoken() (*string, error) { token, err := g.clientsecretcredential.gettoken(context.background(), policy.tokenrequestoptions{ scopes: []string{ "https://graph.microsoft.com/.default", }, }) if err != nil { return nil, err } fmt.println("expires on : ", token.expireson) return &token.token, nil } // the getusers function errors out func (g *graphhelper) getusers() (models.usercollectionresponseable, error) { var topvalue int32 = 25 query := users.usersrequestbuildergetqueryparameters{ // only request specific properties select: []string{"displayname", "id", "mail"}, // get at most 25 results top: &topvalue, // sort by display name orderby: []string{"displayname"}, } resp, err := g.appclient.users(). get(context.background(), &users.usersrequestbuildergetrequestconfiguration{ queryparameters: &query, }) if err != nil { fmt.println("users.get got error", err.error(), resp) printodataerror(err) } resp, err = g.appclient.users(). get(context.background(), nil) if err != nil { fmt.println("users.get got error with nil", err.error(), resp) } return resp, err }
Salin selepas log masuk

Saya telah menambahkanuser.read.allkebenaran dalam apl seperti yang diterangkan dalam tutorial. Daripada mendapatkan senarai pengguna, saya mendapat ralat berikut:

Users.Get got Error error status code received from the API  error: error status code received from the API code: InvalidAuthenticationTokenmsg: Access token is empty.Users.Get got Error with nil error status code received from the API 
Salin selepas log masuk

Penyelesaian

Nah, selepas beberapa percubaan dan kesilapan, pembetulan yang berkesan untuk saya ialah versi dalam contoh tidak sepadan dengan aplikasi sebenar yang saya cuba. Aplikasi beta msgraph yang saya gunakan ialah v0.49, dan tutorial msgraphsdk menggunakan v0.48. Arahan mod go pada mulanya memilih v0.49 terkini, saya rasa, selepas melihat fail msgraph-traininggo.mod untuk menggunakan v0.48. com/microsoftgraph/msgraph-training-go" rel="nofollow noreferrer">RepositoriSemuanya mula berfungsi. Semoga ini membantu orang lain pada masa akan datang.

Atas ialah kandungan terperinci Ralat 'Dapatkan token akses kosong' semasa menjalankan kod contoh latihan msgraph-sdk-go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
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
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!