Course info
Jul 21, 2016
2h 36m

Microsoft Office is a powerful productivity suite that provides users with very capable yet generic tools. Sometimes you need a little more structure and integration, and with the Office JS API, you can build Office Add-ins that automate and integrate Office with your applications. This course, Fundamentals of Building Office Add-ins with Office JavaScript APIs, will cover the fundamentals of the Office JavaScript API. First, it will introduce you to the different types of Add-ins, and show you how to get your development environment started. Next, you will learn how to build a simple PowerPoint task pane add-in. Finally, you will learn about communicating with external resources such as Trello, and about publishing the Add-in to the Microsoft Office Store. By the end of this course, you'll be ready to continue your learning for specific office applications like Excel and Word.

About the author
About the author

John Brown is a Software Craftsman continually looking for intuitive designs, agile architectures, and streamlined processes. With degrees in Computer Science from Johns Hopkins and Aerospace Engineering from Purdue, John is always up for a challenge, especially in his areas of interest in Artificial Intelligence and Machine Learning.

More from the author
Build Excel Add-ins with Office JS APIs
2h 16m
Apr 5, 2017
Ghost Blogging Engine: First Look
3h 32m
Mar 14, 2016
More courses by John Brown
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi everyone, my name is John Brown, and welcome to my course on the Fundamentals of Building Office Add-ins with Office JavaScript APIs. I am a software craftsman, and as the founder of Tritium Consulting I have worked with many companies on automating Microsoft Office and helping users be more productive. with the Office JavaScript API, a whole new set of developers, web developers, are able to easily write add-ins that they can automate in Microsoft Office. And then can also extend that automation from the Windows version of Office to Office on the Mac, to Office on tablets, and even the web browser version, Office Online. In this course, you will learn about the different types of add-ins that are available. You will learn about the different ways to set up your development environment, even for non-Microsoft platforms. You will learn how the JavaScript add-in communicates with the documents through a special proxy. You will learn about how to get the data from external hosts, and the security protections that are in place. And finally, you will learn how to publish your add-in to the local file share, the company store, and the Microsoft Office Store. After you've learned the basics in this course, you will be able to continue your learning for specific Office applications like Excel and Word through follow-on courses. Come join me, and start learning the fundamentals of building Office add-ins with Office JavaScript APIs.

Understanding the Shared API
Hello. This is John Brown again, and welcome to this module on Understanding the Shared API. In this module, we are going to work through some of the fundamentals of building an add-in. So what exactly is the Shared API? Well, with the add-ins, we currently have two models for interacting with our Office documents. With Office 2016, Microsoft introduced host-specific object models that are strongly-typed. Microsoft will be using this as the primary method in the future, however, this is only available for Word and Excel at this time. One of the major differences is the use of JavaScript Promises to handle the asynchronous communication with the documents. All of the hosts, however, support the Common. js model, so we'll be looking at using it for some of the basics. It is the initial model provided with Office 2013, and provides the primary communication with the host application and documents. It is in a namespace called Microsoft. Office. WebExtension, which is referenced as Office in the code. This model is different from the host-specific one in that it uses callbacks instead of Promises.

External Communications
Hello, this is John Brown. In this module we are going to learn about how to communicate with an external resource. Some aspects are very straightforward with communicating with external resources, while others require a more thorough understanding of the hosting model. In the previous module, we took a look at building a PowerPoint add-in that communicated with Trello, however, instead of using a connection to Trello we used a sample data service so we could focus on working with PowerPoint and the documents. In this module, we are going to look at how to take that sample and have it communicate with Trello. As a reminder, let's walk through the process. Trello provided the Kanban boards with agile cards that are used to track and manage the work for a team. You have a presentation you'd like to give on your progress, and you just need the list of cards for your project added to your PowerPoint deck. The add-in we create will do the work. To accomplish this work, you'll want to connect to Trello and request some data from the API. I will use Google as my OAuth provider to Trello so Trello will redirect to Google and request credentials. Google will than pass my authentication token to Trello, as well as a few other claims. Eventually, Trello will return back the list of cards to the add-in, and then after we have the data we'll use the reference to the document to write the list of cards into the PowerPoint deck. Let's start by understanding what we mean by external communication.