Retrieve Channels And Videos From Office 365 Video Portal Using REST Video API

Introduction

In this article, you will learn how to retrieve the video portal information, video channels, and the videos of the respective channel from Office 365 sites, using REST Video APIs (Newly introduced for the video portal).

Microsoft has introduced new APIs for working with video portals. The hierarchy of the information storage will be:

  • Video portal is present in Office 365 instance.
  • Video portal consists of the channels.
  • Channels in turn consist of many videos.

Retrieve Video Portal Details

First, we will see how we can retrieve the video portal URL of the Office 365 site using REST Video API.

The API is used to get the video portal information from “https://siteurl/_api/VideoService.Discover”. The properties which can be accessed from this operation are video site page URL, channel template URL, player template URL and video site URL.

The following code snippet shows the JQuery Ajax call to get the video portal information from the Office 365 site.

  1. $.ajax
  2. ({  
  3.     url: "/_api/VideoService.Discover",  
  4.     type: "GET",  
  5.     headers: { "accept""application/json;odata=verbose" },  
  6.     success: function(data)
  7.     {  
  8.         var videoSiteInfo = data.d;  
  9.         console.log("Video Site Page URL : " + videoSiteInfo.O365VideoPageUrl);  
  10.         console.log("Video Channel URL : " + videoSiteInfo.ChannelUrlTemplate);  
  11.         console.log("Player URL : " + videoSiteInfo.PlayerUrlTemplate);  
  12.         console.log("Video Site URL : " + videoSiteInfo.VideoPortalUrl);          
  13.     },  
  14.     error: function(data){  
  15.     }  
  16. });  

Retrieve Channels 

On the video portal, you can start creating the channels. The channels are used to categorize the videos. Creating channels literally means you are going to create site collections.

To get the channels from the video portal, the video portal URL should be used with REST Video API to pull the information. The REST API URL will be https://videositeurl/_api/VideoService/Channels. Here, the video site URL is the component which we have identified in the section above.

Next, we will see how we can retrieve the information about a particular channel. Identify the channel and get the channel ID manually or by using the previous operation. The operation will be very similar to the one shown above. The only difference is Channel ID, which is passed to get the particular channel information.

https://videositeurl/_api/VideoService/Channels('Channel-GUID')

The following code snippet shows the JQuery Ajax call to get the channel details from the Office 365 video portal. 
  1. $.ajax
  2. ({  
  3.     url: "/portals/hub/_api/VideoService/Channels"// Pass Channel id to get particular channel info  
  4.     type: "GET",  
  5.     headers: { "accept""application/json;odata=verbose" },  
  6.     success: function(data)
  7.     {  
  8.     var channelInfo = data.d.results[0]; // First Channel  
  9.         console.log("channel Name : " + channelInfo.Title);  
  10.         console.log("channel URL : " + channelInfo.ServerRelativeUrl);  
  11.       // Similarly other properties can be retrieved
  12.     },  
  13.     error: function(data){  
  14.     }  
  15. });  

Retrieve Videos from Channels 

Now, we will see how we can retrieve videos from a particular channel, using REST Video API. With the video portal URL and channel ID identified in the above sections, get the channel videos using the API given below:

https://videositeurl/_api/VideoService/Channels('Channel-GUID')/Videos

The operation will fetch us all the videos from the channel, using the <for each> loop through the result set to get the details of each video. The properties which can be viewed are file name, video URL, author details, video download URL, view count, thumbnail URL, duration, video uploaded date and the channel details. 

Now, we will see how we can retrieve particular video details. This is again similar to the above operation. Once you identify the video ID, you can pass it using a query to SharePoint, along with the channel ID, to get more information about the single video. The same set of properties will be retrieved here. The REST Video API will be available at the link provided below:

https://videositeurl/_api/VideoService/Channels('Channel-GUID')/Videos('Video-GUID') 

The following code snippet shows the JQuery Ajax call to get the video details of a channel from the Office 365 video portal.
  1. $.ajax
  2. ({  
  3.     url: "/portals/hub/_api/VideoService/Channels('Channel-GUID')/Videos",  
  4.     type: "GET",  
  5.     async: false,  
  6.     headers: { "accept""application/json;odata=verbose" },  
  7.     success: function(data)
  8.     {  
  9.         var videoInfo = data.d.results[0]; // First Video  
  10.         console.log("Video Name : " + videoInfo.FileName);  
  11.         console.log("Video URL : " + videoInfo.Url);  
  12.     // Similarly other properties can be retrieved  
  13.     },  
  14.     error: function(data){  
  15.     }  
  16. });  
Summary
 
Thus you have learned how to retrieve the video portal information along with the channels and the videos, using a new service called REST Video API.