Office 365 for developers – What, How, Where?
With Build and Ignite behind us we’ve seen some pretty incredible things from Microsoft, from mobile to virtual reality. If you haven’t watched the Build keynote or some of the sessions yet, I encourage you to do so.
Office 365 for the future
These are very exciting times, especially for MS Office developers. Satya Nadella, CEO of Microsoft, confirmed that “The most strategic developer surface area for us is Office 365“.
This means that the Office 365 platform is one of the most important areas for Microsoft as part of their vision for the future. It’s also an indication that Microsoft feels that developers need to embrace Office 365 in order for it to be an even bigger success.
Of course, this is incredibly good news for Microsoft Office developers. We could expect improvements to the Microsoft Office platform on a regular basis which will increase opportunities exponentially to develop awesome add-ins and applications that integrate with Office 365.
What is Office 365?
Office 365 is a collection of subscription based services, provided by Microsoft, that are enabled over the internet. The type of services included is dependent on the subscription plan you select, for example many Office 365 plans include the desktop version of Microsoft Office as well as their web-based counterparts.
It is important to keep in mind that Office 365 is much more than simply the desktop and web-based versions of the familiar Microsoft Office suite of tools (Word, Excel, Outlook, and PowerPoint). It is a collection of services that can work in conjunction with your favourite Office productivity tools.
Let’s take a quick look at what Office 365 has to offer.
Almost all Office 365 plans include a subscription to Microsoft Exchange, which means you receive all the features and abilities we’ve come to know and love from Microsoft Exchange. This means you can send and receive emails, schedule calendar appointments and meetings as well as store contact information. This subscription also includes the Outlook Online client, with which you pretty much perform most tasks related to emails, contacts and calendar entries.
The added benefit of using Exchange is that your data will be synchronized across all your devices, including mobile.
Of course, the best news for developers is that Microsoft has released a REST API to allow developers to access information from MS Exchange. At time of writing we were able to access Mail, Calendar and Contact information in Office 365 Exchange using the REST API.
Not everything that we have been able to access using the classic Outlook Object Model is available yet, but there are a lot that can be accomplished with what the API has to offer at the moment. Microsoft is also actively adding new features to the API, so there are a lot of great things to come!
To see the data available for access, please read this article on MSDN. We’ll dig further into the REST API in future articles.
OneDrive for Business
OneDrive is Microsoft’s cloud based offering for storing and synchronizing files across multiple devices. OneDrive for Business is meant to be used for storing any work-related files in the cloud, whereas OneDrive is for storing personal files. Both work in the same way, the only difference is one is meant to be used for work and the other for your personal files.
All Office 365 plans include an OneDrive for Business subscription with 1 Terabytes (TB) of storage space – which is a whole lot of storage space!
OneDrive is also integrated into the desktop version of Microsoft Office, meaning you’re able to open and save MS Office files directly to OneDrive from within MS Office.
The Office 365 API also supports integration with OneDrive for Business via the REST API. Developers are able to create applications that can create folders, download files, and create files as well as a host of other operations on OneDrive.
For a complete list of currently supported REST API operations, please have a look at the following MSDN documentation. We’ll also take a closer look at the Files API in the coming articles on this blog.
Part of the Office 365 service offerings are SharePoint Online. Yes, this is the SharePoint we all know with which you can create Team sites, collaborate with your co-workers, create lists and sites and all the other varied uses we’ve grown accustomed to that SharePoint offers.
The SharePoint admin center allows you to perform the required management tasks in setting up and administrating site collections and global SharePoint settings.
What is interesting is that the Office 365 Files REST API is also used to perform a few SharePoint operations. We’ll dig deeper into how to access your SharePoint data using the Files API in future posts, in the meantime you can read more about it on MSDN.
Yammer, was a corporate-styled social network that was acquired by Microsoft in 2012 and has since been incorporated as part of the Office 365 offering. In essence, Yammer is a Facebook-ish service for your business, which allows co-workers to interact and engage in a social media style conversation.
As part of most of the Office 365 subscriptions, you’ll also receive a Yammer subscription. I’ve started using Yammer recently to engage with the Microsoft Office 365 teams and it is pretty cool. It certainly does have a Facebook feel to it. On a different note, the Microsoft guys have been extremely helpful on Yammer and I highly recommend that if you have any Office 365 development questions to get involved in the conversation in the O365 Dev APIs and O365Dev Apps Model Group on Yammer.
Developers are also able to integrate with Yammer, as stated in this article from Jeremy Thake. The Yammer delegate permissions has recently been added to the Azure Management Portal (more on the Azure portal, in future posts) and is available in preview. You can also read more on the Yammer REST API on their developer portal.
Office 365 Video Portal
The Office 365 Video Portal allows organizations to view and post videos on Office 365. It is a streaming video service which is available as part of the SharePoint Online subscription. In essence, think of it as YouTube for Business, as it is a great way to share company presentations, training videos or recording of meetings with your co-workers and employees. It also supports multiple channels, so for instance you could have separate channels for training and meetings.
The good news for developers is that we can also interact and access the videos stored on the Video Portal via the Video REST API. It is currently in preview, but you can start reading up on the various available operations on MSDN.
Azure Active Directory (Azure AD) according to their website is:
“Azure Active Directory is a comprehensive, highly available identity and access management cloud solution that combines core directory services, advanced identity governance and application access management. Azure Active Directory also offers a rich, standards-based platform that enables developers to deliver access control to their applications, based on a centralised policy and rules.“
The long and short of it is that it is essentially an Active Directory for Office 365. I’m making it sound very simple, but a lot rests on the capabilities of Azure AD, for example you’ll need to set up various permissions for your applications that access the Office 365 API in Azure AD. We’ll go into more detail about setting up app permission in Azure AD in the next article. I’m very excited about what Microsoft has delivered so far, and I’m sure you will also not be disappointed.
Apps, Add-ins and Managed Add-ins?
Finally, you might’ve noticed that the terminology for Office Apps has changed a bit. “Apps for Office” is now known as “Office Add-ins”. Of course, this could prove to be terribly confusing, because previously any web-based app for Office was referred to as a Mail App, Excel App etc. and our old tried and true COM Add-ins were called “Office Add-ins”.
But by the looks of it, Microsoft is trying to unify the Office platform and thus our terminology also needs to change.
So, Office Apps are now called Office Add-ins and the traditional COM add-ins are now called Managed Office Add-ins.
Thank you for reading. Until next time, keep coding!