getStream doesn't work on node 18
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- node.js, typescript
Research direction
Start by reproducing the failure with Node 18.8.0 using client.api(imageUrl).getStream() from the report, then trace the SDK entry point for .getStream() and how its response is handled. Done means the call returns a stream that supports stream.on('data', ...) for the reported photo request.
Written by the indexing model from the issue text.
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 .getStream() method doesn't work when running on node 18.
Console Errors: [Is there any console error]
TypeError: stream.on is not a function
Screenshots: [If applicable, add screenshots to help explain your problem]

Steps to Reproduce
Here is a small application to reproduce the issue(just include the IDs):
import 'isomorphic-fetch'; // unnecessary and can be removed
import { Client } from '@microsoft/microsoft-graph-client';
const tenantId = '';
const clientId = '';
const clientSecret = '';
const userID = '';
const createAccessToken = async ({ tenantId, clientId, clientSecret }) => {
const params = new URLSearchParams();
params.append('grant_type', 'client_credentials');
params.append('client_id', clientId);
params.append('client_secret', clientSecret);
params.append('scope', 'https://graph.microsoft.com/.default');
const response = await fetch(
`https://login.microsoftonline.com/${tenantId}/oauth2/v2.0/token`,
{
method: 'POST',
body: params,
}
);
const { access_token } = await response.json();
return access_token;
};
const createClient = async connectionConfig => {
const accessToken = await createAccessToken(connectionConfig);
return Client.init({
authProvider: done => {
done(null, accessToken);
},
});
};
const run = async () => {
const imageUrl = `/users/${userID}/photo/$value`;
const client = await createClient({ tenantId, clientId, clientSecret });
const photo = await client.api(imageUrl).get();
console.log({ photo }); // <-- photo is loaded
const stream = await client.api(imageUrl).getStream();
// fails with: stream.on is not a function
stream.on('data', data => {
console.log(data);
});
};
run();
Expected behavior: [What you expected to happen]
a stream to be returned by .getStream() function
Actual behavior: [What actually happened]
.getStream() function is not returning a stream
Additional Context
Node 18 is used
Usage Information
Request ID - Value of the requestId field if you are receiving a Graph API error response
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]
18.8.0
- Dominant language
- TypeScript
- Stars
- 833
- Forks
- 240
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from microsoftgraph/msgraph-sdk-javascript
-
status:waiting-for-triage
Difficulty 1/5 Under an hour Newbie friendliness 62/100
-
Is anyone here? Open
Difficulty 4/5 3-5 days Newbie friendliness 25/100
microsoftgraph/msgraph-sdk-javascript#2005 · 1 reaction ·
-
Is it really correct that the Javascript version of the graph SDK doesn't offer typed requests? Openstatus:waiting-for-triage
Difficulty 5/5 Over a week Newbie friendliness 42/100
-
status:waiting-for-triage type:bug
Difficulty 3/5 1-2 days Newbie friendliness 48/100
microsoftgraph/msgraph-sdk-javascript#1999 · 2 comments · 1 reaction ·
-
status:waiting-for-triage type:bug
Difficulty 4/5 3-5 days Newbie friendliness 45/100
All issues in microsoftgraph/msgraph-sdk-javascript
Similar issues
-
clawsweeper:linked-pr-open clawsweeper:no-new-fix-pr clawsweeper:source-repro impact:message-loss issue-rating: 🦞 diamond lobster maturity:stable P2
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#616 ·
-
ZCode 3.14.3 に対応する Open
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
supermomonga/zcode-acp#24 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
growthbook/growthbook#7100 ·
-
triage
Difficulty 1/5 1-3 hours Newbie friendliness 88/100