Specific endpoint call fails by fetch of node v18
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- node.js, typescript
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- TypeScript
- Étoiles
- 833
- Forks
- 240
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de microsoftgraph/msgraph-sdk-javascript
-
status:waiting-for-triage
Difficulté 1/5 Moins d'une heure Accessibilité débutants 62/100
-
Is anyone here? Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 25/100
microsoftgraph/msgraph-sdk-javascript#2005 · 1 réaction ·
-
Is it really correct that the Javascript version of the graph SDK doesn't offer typed requests? Ouvertestatus:waiting-for-triage
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 42/100
-
status:waiting-for-triage type:bug
Difficulté 3/5 1-2 jours Accessibilité débutants 48/100
microsoftgraph/msgraph-sdk-javascript#1999 · 2 commentaires · 1 réaction ·
-
status:waiting-for-triage type:bug
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
Toutes les issues de microsoftgraph/msgraph-sdk-javascript
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
bug v2
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
modelcontextprotocol/inspector#2458 · 1 commentaire ·
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 75/100
railmapgen/rmp-gallery#4068 ·
-
Mend: dependency security vulnerability status: needs triage 🕵️♀️
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
carbon-design-system/ibm-products#9907 ·