Общий код для разных платформ

advertisement
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.
Download