You can get information from the graph using .get()
.
Getting user details
try {
let res = await client.api("/me").get();
console.log(res);
} catch (error) {
throw error;
}
You can download information from the graph using NodeJS streams with .getStream()
.
Downloading a file from OneDrive
const fs = require("fs");
client
.api("/me/drive/root/children/<FILE_NAME>/content")
.getStream() //Eg: test.pdf
.then((stream) => {
let writeStream = fs.createWriteStream(`../<DOWNLOAD_FILE_NAME>`); // Eg: test.pdf
stream.pipe(writeStream).on("error", (err) => {
throw err;
});
writeStream.on("finish", () => {
console.log("Downloaded");
});
writeStream.on("error", (err) => {
throw err;
});
})
.catch((error) => {
throw error;
});
You can submit a content to the graph using .post()
/.create()
, this takes object as a param that will be sent as content of the request.
Sending an email to the recipients
const mail = {
subject: "Microsoft Graph JavaScript Sample",
toRecipients: [
{
emailAddress: {
address: "[email protected]",
},
},
],
body: {
content: "<h1>MicrosoftGraph JavaScript </h1>Check out https://github.com/microsoftgraph/msgraph-sdk-javascript",
contentType: "html",
},
};
try {
let res = await client.api("/me/sendMail").post({ message: mail });
console.log(res);
} catch (error) {
console.error(error);
}
You can partially modify the resource in graph using .patch()
/.update()
, which takes object as a param that will be sent as content of the request.
Updating the birthday information for a contact
let contactId = "<CONTACT_ID_TO_UPDATE>";
let contactInfo = {
birthday: "1991-07-22",
};
try {
let res = await client.api(`/me/contacts/${contactId}`).patch(contactInfo);
console.log(res);
} catch (error) {
console.error(error);
}
You can delete a resource in graph using .delete()
/.del()
.
Deleting the file in OneDrive
try {
let res = await client.api(`/me/drive/items/${ONE_DRIVE_FILE_ID_TO_DELETE}`).delete();
console.log(res);
} catch (error) {
console.error(error);
}
You can replace resources in graph using .put()
.
Updating profile picture from a HTML input form
let file; // FileObject retrieved from the HTML input type=file
try {
let res = await client.api("/me/photo/$value").put(file);
console.log(res);
} catch (error) {
throw error;
}
You can replace resources in graph using NodeJS streams with .putStream()
.
Uploading a file to OneDrive
let fs = require("fs");
try {
let stream = fs.createReadStream("<PATH_TO_LOCAL_FILE>"); // Eg: "./test.jpg"
let res = await client.api(`/me/drive/root/children/<FILE_NAME>/content`); // Eg: /me/drive/root/children/test.jpg/content
console.log(res);
} catch (error) {
throw error;
}