Specific endpoint call fails by fetch of node v18
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- node.js, typescript
Direzione di ricerca
Reproduce the request from the issue using Node v18.10.0, SDK 3.0.2, and the applications endpoint, then compare it with Node v16 and NODE_OPTIONS=--no-experimental-fetch. Start by tracing the SDK's fetch-based request path around GraphRequest.ts and GraphErrorHandler.ts. Done means fetching a specific application returns its properties under Node 18 without the Invalid language specified error.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Bug Report
Prerequisites
- Can you reproduce the problem?
- Are you running the latest version?
- Are you reporting to the correct repository?
- Did you perform a cursory search?
For more information, see the CONTRIBUTING guide.
Description
The fetch of node v18 introduces a bug to msgraph-sdk-javascript.
This is simple code.
public async getApplications(): Promise<any> {
return await this.client
.api(`/applications`)
.get();
}
public async getApplication(): Promise<any> {
return await this.client
.api(`/applications/deadbeef-xxxx-xxxx-xxxx-xxxxxxxxxxxx`)
.get();
}
This works well with node v16.
However, in v18 it outputs following error.
❯ npx ts-node script/nishida-sample.ts
https://graph.microsoft.com/v1.0/applications/deadbeef-xxxx-xxxx-xxxx-xxxxxxxxxxxx
(node:99543) ExperimentalWarning: The Fetch API is an experimental feature. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
/Users/kazufumi.nishida/code/_infra_others/graph-api-sandbox/node_modules/@microsoft/microsoft-graph-client/src/GraphError.ts:61
super(message || (baseError && baseError.message));
^
GraphError: Invalid language specified.
at new GraphError (/Users/kazufumi.nishida/code/_infra_others/graph-api-sandbox/node_modules/@microsoft/microsoft-graph-client/src/GraphError.ts:61:3)
at Function.GraphErrorHandler.constructErrorFromResponse (/Users/kazufumi.nishida/code/_infra_others/graph-api-sandbox/node_modules/@microsoft/microsoft-graph-client/src/GraphErrorHandler.ts:76:18)
at Function.<anonymous> (/Users/kazufumi.nishida/code/_infra_others/graph-api-sandbox/node_modules/@microsoft/microsoft-graph-client/src/GraphErrorHandler.ts:102:31)
at step (/Users/kazufumi.nishida/code/_infra_others/graph-api-sandbox/node_modules/tslib/tslib.js:144:27)
at Object.next (/Users/kazufumi.nishida/code/_infra_others/graph-api-sandbox/node_modules/tslib/tslib.js:125:57)
at /Users/kazufumi.nishida/code/_infra_others/graph-api-sandbox/node_modules/tslib/tslib.js:118:75
at new Promise (<anonymous>)
at __awaiter (/Users/kazufumi.nishida/code/_infra_others/graph-api-sandbox/node_modules/tslib/tslib.js:114:16)
at Function.GraphErrorHandler.getError (/Users/kazufumi.nishida/code/_infra_others/graph-api-sandbox/node_modules/@microsoft/microsoft-graph-client/lib/src/GraphErrorHandler.js:85:38)
at GraphRequest.<anonymous> (/Users/kazufumi.nishida/code/_infra_others/graph-api-sandbox/node_modules/@microsoft/microsoft-graph-client/src/GraphRequest.ts:391:55) {
statusCode: 400,
code: 'Request_BadRequest',
requestId: '329b85ba-dc7a-4712-b9b7-89e3907972c8',
date: 2022-10-11T18:44:18.000Z,
body: '{"code":"Request_BadRequest","message":"Invalid language specified.","innerError":{"date":"2022-10-12T03:44:18","request-id":"329b85ba-dc7a-4712-b9b7-89e3907972c8","client-request-id":"2729c80a-94c7-748f-31c2-fe56bb594a84"}}'
}
Also, it works once more with --no-experimental-fetch.
❯ NODE_OPTIONS=--no-experimental-fetch npx ts-node script/nishida-sample.ts
https://graph.microsoft.com/v1.0/applications/deadbeef-xxxx-xxxx-xxxx-xxxxxxxxxxxx
{"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#applications/$entity","id":"
...
}
Steps to Reproduce
- Use node v18
- Setup ordinally (https://github.com/microsoftgraph/msgraph-sdk-javascript/tree/099afbe343cd279f218036a83eb2831ad065f46d#getting-started)
- Access
v1.0/applications/deadbeef-xxxx-xxxx-xxxx-xxxxxxxxxxxx(use existing application id in your tenant)
Expected behavior: [What you expected to happen]
Return application property
Actual behavior: [What actually happened]
GraphError: Invalid language specified.
Additional Context
I was struggling 13 hours because new fetch of v18 works well except GET v1.0/applications/deadbeef-xxxx-xxxx-xxxx-xxxxxxxxxxxx endpoint. E.g, GET v1.0/applications endpoint (list applications) works correctly.
Usage Information
Request ID - Value of the requestId field if you are receiving a Graph API error response
329b85ba-dc7a-4712-b9b7-89e3907972c8
SDK Version - [SDK version you are using]
3.0.2
- Node (Check, if using Node version of SDK)
Node Version - [The version of Node you are using]
❯ node --version
v18.10.0
- Browser (Check, if using Browser version of SDK)
Browser Name - [The name of Browser that you are using for SDK]
Version - [The version of the browser you are using]
P.S.
Thank you good library. I'm happy to code with type informations.
- Lingua principale
- TypeScript
- Stelle
- 833
- Fork
- 240
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di microsoftgraph/msgraph-sdk-javascript
-
status:waiting-for-triage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 62/100
-
Is anyone here? Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
microsoftgraph/msgraph-sdk-javascript#2005 · 1 reazione ·
-
Is it really correct that the Javascript version of the graph SDK doesn't offer typed requests? Apertastatus:waiting-for-triage
Difficoltà 5/5 Più di una settimana Idoneità per principianti 42/100
-
status:waiting-for-triage type:bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 48/100
microsoftgraph/msgraph-sdk-javascript#1999 · 2 commenti · 1 reazione ·
-
status:waiting-for-triage type:bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
Tutte le issue di microsoftgraph/msgraph-sdk-javascript
Issue simili
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 95/100
-
Ecosystem: ClawMetry — the Qwen Code reader is now free and open source (follow-up to #9294 / #9338) Apertacategory/integration priority/P3 scope/documentation status/ready-for-human type/feature-request
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 84/100
-
area:auth FE mvp P3
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
klasolsson81/jobbliggaren#1788 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
get-convex/migrations#69 ·
-
accessibility angular bug good first issue typescript ux
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
apache/fineract-backoffice-ui#584 · 1 commento ·