Microsoft Developer Tour Технологическая экспедиция msdevtour.ru Разработка приложений с использованием Office 365 API Евгений Шкляр Эксперт по стратегическим технологиям, Microsoft Office 365 APIs Почему REST API важны? Нужны API? Их есть у нас! Сценарии использования • Отправить письмо • Прочитать и ответить на письмо • Показать все встречи из календаря на ближайшую неделю • Создать новую встречу • Показать список контактов • Скачать все фотографии из OneDrive Большой выбор платформ Native Cross Platform Большой выбор платформ HTML .NET Windows Store Apps .NET Windows Phone 8.1 Apps .NET Universal Apps for Windows MVC Web Applications Web Forms Applications Xamarin Общий код для разных платформ • Поддержка Windows, iOS и Android • Переиспользование кода для нативных приложений • Visual Studio ALM и IDE 100% API доступно • Все, что вы можете сделать в xCode или ADT, вы можете в Visual Studio Встроенные симуляторы Нативный UI Нативный UI Нативный UI C# + XIB C# + XAML C# + XAML Apache Cordova Black Box Совсем чуть-чуть подробнее Mail, Contacts, OneDrive etc. Microsoft Developer Tour #MSDevTour Танцуйте! • Разрешения • Read, Read+Write, Send • Entities, Collections, Actions Entity Collection Actions Folder Folders CRUD, Copy, Move Message Messages CRUD, Copy, Move, Reply, ReplyAll, Forward, Send, CreateReply, CreateReplyAll, CreateForward Attachment Attachments CRUD • Примеры • https://outlook.office365.com/api/v1.0/Me/Folders/Inbox/ • https://outlook.office365.com/api/v1.0/Me/Folders/Inbox/Messages?$top=1 • https://outlook.office365.com/api/v1.0/Me/SendMail/ Какой сейчас год? • Разрешения • Read, Read+Write • Entities, Collections, Actions Entity Collection Actions CalendarGroup CalendarGroups CRUD Calendar Calendars CRUD Event Events CRUD, Accept, Decline, TentativelyAccept CalendarView N/A Read Attachment Attachments CRUD • Примеры • https://outlook.office365.com/api/v1.0/Me/Calendar • https://outlook.office365.com/api/v1.0/Me/Calendar/Events?$top=1 • https://outlook.office365.com/api/v1.0/Me/CalendarView?startDateTime=2014-10-01T01:01:01Z & endDateTime=2014-11-01T01:01:01Z Есть контакт! • Разрешения • Read, Read+Write • Entities, Collections, Actions Entity Collection ContactFolder ContactFolders Contact Contacts Actions CRUD • Примеры • https://outlook.office365.com/api/v1.0/Me/ContactFolders(‘Contacts’)/ • https://outlook.office365.com/api/v1.0/Me/Contacts/ Пользователи и группы пользователей • Разрешения • Read, Read+Write • Entities, Collections, Actions Entity Collection Actions User Users CRUD Groups Groups CRUD • Примеры • https://graph.windows.net/contoso.com/users?api-version=1.5 • https://graph.windows.net/contoso.com/groups?api-version=1.5 Файловые API • Разрешения • Read, Read+Write • Entities, Collections, Actions Entity Collection Drive File Folder Actions Read Files CRUD, Upload, Download CRUD • Примеры • https://contoso-my.sharepoint.com/_api/v1.0/me/drive • https://contoso-my.sharepoint.com/_api/v1.0/me/files Гибкий синтаксис запросов с помощью ODATA Сценарий URL Получить пять писем из входящих Me/Inbox/Messages?$top=5 Получить следующие десять писем Me/Inbox/Messages?$top=10&$skip=5 Получить первые десять писем, отсортированных по дате создания Me/Inbox/Messages?$top=10&$skip=10&$orderby=DateTimeCreated Получить отдельные атрибуты писем Me/Inbox/Messages?$top=5&$select=From,DateTimeCreated,Subject Получить список событий, начавшихся после определенной даты Me/Events?$top=5&$filter=Start ge 2014-03-04T20:00:00Z Получить все контакты с именем Me/Contacts?$top=10&$filter=contains(DisplayName,‘Evgeniy') Evgeniy DEMO API Sandbox https://apisandbox.msdn.microsoft.com/ Microsoft Developer Tour #MSDevTour Доступ к API из вашего супер-приложения • Настройка среды разработки для Office 365 • Получение сайта разработчика Office 365 • Связь Azure Active Directory с сайтом разработчика • Получение и настройка инструментов разработки • Установите Visual Studio и Office Developer Tools для создания проектов под .NET и гибридных решений с Cordova и Xamarin • Используйте Android SDK для Office 365 • Используйте iOS SDK для Office 365 • Обращайтесь к REST API напрямую Интеграция Office 365 API • Visual Studio Service Manager для добавления Office 365 в приложение • Аутентификация с Azure Active Directory • Установка прав доступа к сервисам Office 365 • Доступ к ресурсам Office365 Office 365 API Tool для Visual Studio 1.. Выберите сервис. 2. Щелкните для доступа к разрешениям 4. Подтвердите изменения 3.Выберите разрешения для сервиса http://aka.ms/o365api-getting-started Azure AD Authorization Приложение Endpoint Azure AD Token Endpoint Office 365 API • Azure AD Graph, Exchange, SharePoint • Приложения и веб-сайты • • • • OAuth 2.0 Логин и пароль нигде не хранятся Тонкая настройка областей доступа Refresh tokens для длительного доступа https:// http://aka.ms/o365api-getting-started http://aka.ms/mdha ©2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.