{"id":21153,"date":"2024-05-10T07:50:22","date_gmt":"2024-05-10T14:50:22","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/?p=21153"},"modified":"2024-05-10T07:51:56","modified_gmt":"2024-05-10T14:51:56","slug":"direct-streaming-of-sharepoint-driveitem-content-in-microsoft-graph-now-available","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/direct-streaming-of-sharepoint-driveitem-content-in-microsoft-graph-now-available\/","title":{"rendered":"Direct streaming of SharePoint Driveitem content in Microsoft Graph now available"},"content":{"rendered":"<p><span data-contrast=\"auto\">You can now directly download content of a file <\/span><i><span data-contrast=\"auto\">(of a Driveitem)<\/span><\/i><span data-contrast=\"auto\"> in a SharePoint Online site through a single call.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Previously, while downloading file content via any endpoint mentioned <\/span><a href=\"https:\/\/aka.ms\/ContentDownload\"><span data-contrast=\"none\">here<\/span><\/a><span data-contrast=\"auto\">, you used to get \u2018302 Found\u2019 response redirecting to a pre-authenticated download URL <\/span><i><span data-contrast=\"auto\">(which is the same URL available through the \u2018microsoft.graph.downloadurl\u2019 property on the Driveitem)<\/span><\/i><span data-contrast=\"auto\"> which you had to call again to start the download process. This resulted in redundant calls increasing the network overhead.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">A new Microsoft Graph endpoint is introduced in BETA to enable you download content of file<\/span><span data-contrast=\"auto\">*<\/span><span data-contrast=\"auto\"> through a single call, e.g., when you hit \u2018GET \/drives\/{drive-id}\/items\/{item-id}\/contentStream\u2019, it will start downloading the content from the stated drive-id directly.\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">*<\/span><i><span data-contrast=\"auto\">Please note, only driveitem objects with the \u2018file\u2019 property can be downloaded.<\/span><\/i><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<h3><span data-contrast=\"none\">What are the benefits?<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">The new endpoint improves network performance by eliminating redundant calls and enhances security by enabling direct streaming.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<h3><span data-contrast=\"none\">How do I use it?<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Call any of the following endpoints to get started:<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><i><span data-contrast=\"auto\">Please use \u2018BETA\u2019 version.<\/span><\/i><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><code><span data-contrast=\"auto\">GET \/drives\/{drive-id}\/items\/{item-id}\/contentStream<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/code><\/p>\n<p><code><span data-contrast=\"auto\">GET \/groups\/{group-id}\/drive\/items\/{item-id}\/contentStream<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/code><\/p>\n<p><code><span data-contrast=\"auto\">GET \/me\/drive\/root:\/{item-path}:\/contentStream<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/code><\/p>\n<p><code><span data-contrast=\"auto\">GET \/me\/drive\/items\/{item-id}\/contentStream<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/code><\/p>\n<p><code><span data-contrast=\"auto\">GET \/shares\/{shareIdOrEncodedSharingUrl}\/driveItem\/contentStream<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/code><\/p>\n<p><code><span data-contrast=\"auto\">GET \/sites\/{siteId}\/drive\/items\/{item-id}\/contentStream<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/code><\/p>\n<p><code><span data-contrast=\"auto\">GET \/users\/{userId}\/drive\/items\/{item-id}\/contentStream<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/code><\/p>\n<p><span data-contrast=\"auto\">For more details, please refer to this <a href=\"https:\/\/aka.ms\/NewContentDownload\">document<\/a><\/span><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>You can now directly download content of a file (of a Driveitem) in a SharePoint Online site through a single call.<\/p>\n","protected":false},"author":158619,"featured_media":21160,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[3,166],"tags":[214],"class_list":["post-21153","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microsoft-graph","category-sharepoint","tag-sharepoint-online"],"acf":[],"blog_post_summary":"<p>You can now directly download content of a file (of a Driveitem) in a SharePoint Online site through a single call.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/21153","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/users\/158619"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/comments?post=21153"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/21153\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media\/21160"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media?parent=21153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/categories?post=21153"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/tags?post=21153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}