Programming Microsoft Office 365
Covers Microsoft Graph, Office 365 applications, SharePoint Add-ins, Office 365 Groups, and more
Paolo Pialorsi
PUBLISHED BY
Microsoft Press
A division of Microsoft Corporation
One Microsoft Way
Redmond, Washington 98052-6399
Copyright 2016 by Paolo Pialorsi
All rights reserved. No part of the contents of this book may be reproduced or transmitted in any form or by any means without the written permission of the publisher.
Library of Congress Control Number: 2015938171
ISBN: 978-1-5093-0091-4
Printed and bound in the United States of America.
First Printing
Microsoft Press books are available through booksellers and distributors worldwide. If you need support related to this book, email Microsoft Press Support at .
This book is provided as-is and expresses the authors views and opinions. The views, opinions and information expressed in this book, including URL and other Internet website references, may change without notice.
Some examples depicted herein are provided for illustration only and are fictitious. No real association or connection is intended or should be inferred.
Microsoft and the trademarks listed at http://www.microsoft.com on the Trademarks webpage are trademarks of the Microsoft group of companies. All other marks are property of their respective owners.
Acquisitions Editor: Devon Musgrave
Developmental Editor: Devon Musgrave
Editorial Production: Cohesion
Technical Reviewer: Steve Caravajal; Technical Review services provided by Content Master, a member of CM Group, Ltd.
Copyeditor: Ann Weaver
Indexer: Jack Lewis
Cover: Twist Creative Seattle
This book is dedicated to my family: Paola,
Andrea, and Marta. I love you!
PAOLO PIALORSI
Contents at a glance
Table of Contents
What do you think of this book? We want to hear from you!
Microsoft is interested in hearing your feedback so we can continually improve our books and learning resources for you. To participate in a brief online survey, please visit:
microsoft.com/learning/booksurvey
Introduction
Microsoft Office 365 is a cloud-based software solution that Microsoft offers as a service, targeting the customers who want to externalize the main services they use to run their businesses, like email, collaboration, video conferencing, file sharing, and so on. From a developer perspective, the Microsoft Office 365 offering is a great opportunity to build smart, mobile-aware, and fully integrated solutions that potentially can be sold to millions of users through the public Office Store, leveraging the Office 365 ecosystem and embracing the new add-in development model.
Programming Microsoft Office 365 provides a clear and practical overview of the architectural aspects of Microsoft Office 365 and of the services included in the platform. Moreover, by reading this book, you can learn about the Microsoft Graph API and the Microsoft Graph SDK and about how to create and distribute Office 365 applications, SharePoint Add-ins, and Office Add-ins that fully leverage the Office 365 ecosystem.
Who should read this book
This book is intended to help existing SharePoint and Office developers target the new Office 365 offering, upgrading their skills and knowledge related to the new cloud-based development model. Although it is not fundamental to know about SharePoint and Office 365, this book is really useful for developers who come from the old server-side or full trust code development world. Nevertheless, the book can be useful for developers working with any kind of platform, as long as they can make HTTP requests against the Microsoft Graph API.
Assumptions
This book expects that you have at least a minimal understanding of web development, especially of HTTP, REST, and JSON. Moreover, if you are a .NET developer and you know about ASP.NET, you will find it easier to follow and understand some of the code samples shared within the book. Although the Microsoft Graph API is available to any development platform that supports HTTP and JSON, most of the samples in this book are based on ASP.NET,C#, and PowerShell.
With a heavy focus on the Microsoft Graph API, Azure Active Directory, and the architectural patterns for creating real business-level solutions, this book assumes that you have a basic understanding of the most common collaboration needs.
This book might not be for you if...
This book might not be for you if you are not developing solutions for Office 365 or for SharePoint. Moreover, if you dont know anything about C# and ASP.NET, you could find it difficult to understand some of the code samples related to the book.
In contrast, if you are an experienced Office 365 developer using the latest tools and techniques like those illustrated in the Office 365 Developer Patterns & Practices community project, you may already know some of the information shared through this book.
Organization of this book
This book is divided into four sections, each of which focuses on a different aspect or technology related to developing Office 365 solutions. , provides you information about how to architect and create real business-level Office 365 applications and gives some overview information about how to create Office Add-ins. The last chapter of the book gives instructions on how to publish your custom development solutions, whether you are releasing an Office 365 application, a SharePoint Add-in, or an Office Add-in.
Finding your best starting point in this book
The sections of Programming Microsoft Office 365 cover a wide range of technologies associated with the services Office 365 offers. Depending on your needs and your existing understanding of Office 365, you may wish to focus on specific areas of the book. Use the following table to determine how best to proceed through the book.
Most of the books chapters include code samples that let you try out the concepts you just learned. No matter which sections you choose to focus on, be sure to download and install the sample applications on your system.
Conventions and features in this book
This book presents information using conventions designed to make the information readable and easy to follow.
In most cases, the book provides step-by-step code samples that you can follow on your own development machine. It is suggested that you download the code samples related to the book to follow the samples more easily.
Boxed elements with labels such as Note provide additional information or alternative methods for completing a step.
Text that you type (apart from code blocks) appears in bold.
A vertical bar between two or more menu items (for example, File | Close), means that you should select the first menu or menu item, then the next, and so on.