#msdevcon
Community Experts Track
Microsoft Graph. Готовая Big
Data для Ваших решений
Виталий Жуков
Ведущий разработчик, Ай-Теко
#msdevcon
Цели
Возможности
Microsoft
Graph
Создание
решений на
Microsoft API
Вызов Office
Graph через
Unified API
Использование данных в
Office 365 в создаваемых
решениях
Использование Microsoft
Graph для доступа к
функциональности Office
Graph
Знакомство с новым единым
Microsoft API и его
возможностями. Что нужно
знать, чтобы начать его
использовать
#msdevcon
Microsoft Graph
Что такое Microsoft Graph и причины его появления
Office 365 в числах
70,000 терабайт данных
60,000,000 почтовых вложений
850,000,000 встреч каждый месяц
4,000,000,000,000 объектов
8,000,000,000 связей
25% связей «человек-человек»
Данные в разрезе для бизнеса
Пользователи Файлы Почта, события Люди, Группы
Доступ к данным
Azure Active Directory Graph API
https://graph.windows.net/contoso.com/users
https://graph.windows.net/contoso.com/groups
OneDrive for Business API
https://contoso-my.sharepoint.com/personal/.../_api/v2.0/drive
https://contoso.sharepoint.com/.../_api/v2./drive
SharePoint User Profile API
https://contoso.sharepoint.com/_api/SP.UserProfiles.PeopleManager/GetMyProperties
Доступ к данным (продолжение)
Outlook REST API
https://outlook.office.com/api/v2.0/me/Messages
https://outlook.office.com/api/v2.0/me/Events
Office Graph API
https://contoso.sharepoint.com/_api/search/query...
Exchange HD Picture API
https://outlook.office365.com/api/v1.0/me/userPhoto
Что такое Microsoft Graph
Единая точка доступа ко всем данным в O365
https://graph.microsoft.com/v1.0 - стабильная версия
https://graph.microsoft.com/beta - новые возможности
Безопасность Azure Active Directory
Доступ к данным в Office365 с учетом прав
Единая авторизация
Microsoft API, Office 365 Unified API
Разные имена Microsoft Graph
Microsoft Graph
Calendar
https://graph.microsoft.com
And more …
Mail
PeopleDocuments
Excel
Notebooks
Office Graph
Groups
Users
#msdevcon
Безопасность в Microsoft Graph
Azure Active Directory
Безопасность до Microsoft Graph
2 различные системы авторизации
Бизнес Пользователи
Безопасность в
Microsoft Graph
OAuth 2.0 Implicit Flow
OAuth 2.0 Authorization Code Grant
#msdevcon
Создание решений на базе
Microsoft Graph
Возможности Microsoft Graph для разработчиков
Работа с Excel-файлами
Azure
Active
Directory
Web App
User
credentials
Bearer
token
Redirect
https://graph.microsoft.com
Bearer
token
AngularJS. ADAL
function config($httpProvider, adalAuthenticationServiceProvider) {
// Active Directory Authentication Library (ADAL)
adalAuthenticationServiceProvider.init(
{
clientId: clientId,
endpoints: {
'https://graph.microsoft.com': 'https://graph.microsoft.com'
}
},
$httpProvider
);
};
AngularJS. Примеры запросов
// Последние 10 сообщений текущего пользователя
$http({
method: 'GET',
url: 'https://graph.microsoft.com/v1.0/me/messages?$top=10'
})
.then(
function(response) {
var data = response.data;
// todo
});
#msdevcon
Демонстрация
Работа с Excel-файлами
Чтение данных из Exсel-файла
Подписка на уведомления
Web App
https://graph.microsoft.com
Notification
Database
Web Api
Read Write
Создание подписки на уведомление
https://graph.microsoft.com/beta/subscriptions
Подписка на создание сообщений
{
"changeType": "created",
"notificationUrl": "https://graph.vitalyzhukov.ru/api/feed",
"resource": "me/messages",
"expirationDateTime":"2016-08-01T23:59:59.9999999Z",
"clientState": "MessageNotification"
}
Формат уведомления
{
"SubscriptionId": "eb4542c1-7422-4402-8c56-08bfe64997c0",
"DateTime": "2016-05-19T12:02:45.499191+03:00",
"SubscriptionExpirationDateTime": "2016-05-19T23:59:59.9999999Z",
"ClientState": "Message",
"ChangeType": "created",
"Resource": "Users/<UserId>/Messages/<MessageId>",
"ResourceData": {
"Id": “<MessageId>"
}
}
Ресурс уведомления
https://graph.microsoft.com/v1.0/Users/<UserId>/Messages/<MessageId>
{
"subject": "Message' Subject",
"body": {"contentType": "html", "content": "<ContentInHtmlFormat>"},
"bodyPreview": "ContentInTextFormat",
"sender": {
"emailAddress": {"name": "Vitaly Zhukov",
"address": "vitaly@vitalyzhukov.onmicrosoft.com"}
},
"toRecipients": [<Recepients>],
"webLink": "https://outlook.office365.com/owa/?ItemID=<MessageId>
&exvsurl=1&viewModel=ReadMessageItem",
}
#msdevcon
Демонстрация
Live Dashboard
Просмотр активностей в режиме реального времени
#msdevcon
Демонстрация
Graph Viewer
Отображение данных на основе Office Graph
#msdevcon
Демонстрация
Office Graph в SharePoint
Использование Office Graph при поиске в SharePoint
#msdevcon
Microsoft Graph – Big Data
Почему Microsoft Graph – это Big Data
Big Data
Volume
Большой, постоянно растущий объем
данных
Velocity
Скорость генерации новых данных
Variety
Разнородность данных, хранение и
обработка неструктурированной
информации
Value
Значимость данных, возможность получить
выгоду из данных
Veracity
Точность и достоверность данных
Valence
Возможность объединять различные
наборы данных
#msdevcon
Что дальше
Big Data API
для ваших
решений
Единый API
для всего
предприятия
Давайте
общаться!
Исследуйте новые
возможности Microsoft
Graph API
Я перехожу в зону QA.
Напишите мне в твиттере,
если не можете найти и
хотите пообщаться.
Приходите вечером на
круглые столы с экспертами.
Создавайте новые решений,
используя все данные в
Office 365. Это просто!
#msdevcon
Полезные ресурсы
Список полезных ресурсов:
DevCon Site: http://msdevcon.com
Microsoft Graph: https://graph.microsoft.io
Microsoft Graph Explorer: https://graph.microsoft.io/en-us/graph-explorer
Мой блог: http://blog.vitalyzhukov.ru/ru/tag/Microsoft%20Graph
#msdevcon
Q&A
Microsoft Graph. Готовая Big
Data для Ваших решений
Виталий Жуков
vzhukov@live.ru
© 2016 Microsoft Corporation. All rights reserved.

Microsoft Graph. Готовая Big Data для Ваших решений

Editor's Notes

  • #3 Microsoft Graph новый инструмент в составе Office 365, решающий две основные задачи: предоставление единой точки доступа ко всем данным предприятия (пользователи, группы, почта, календарь, контакты, документы в OneDrive), построение связей между объектами на основе встроенных механизмов прогнозной аналитики и машинного обучения. В докладе будет рассказано об основных возможностях Microsoft Graph и механизме интеграции приложений с ним. Мы рассмотрим различные сценарии применения Microsoft Graph: получение связанных данных из Office 365, отправка данных об различных активностях пользователей и многое другое.
  • #6 Использование Microsoft Office 365 компаниями и обычными пользователями позволяет использовать данные в любое время, в любом месте. Кол-во устройств, которые используют люди для доступа к информации (не только десктоп, но и смартфоны, планшеты). Помимо этого повсеместно растет количество смарт-устройств, генерирующих большой объем данных без участия человека. Все это приводит к тому, что объем данных растет экспоненциально.
  • #7 Какие данные мы используем в работе. Информация о пользователях, о коллегах, с которыми мы работаем/ Файлы, используемые нами в работе всевозможных типов и форматов (Word, Excel, PowerPoint, Медиа-файлы) Коммуникации с нашими коллегами (почта, yammer, календарь) Группы и сообщества людей, работающие над общими проектами
  • #8 Microsoft Office 365 предоставляет нам большой набор приложений, каждое из которых имеет свой REST API.
  • #9 Создавая свои решения, мы зачастую используем сразу несколько приложений. Это приводит к необходимости работать с множеством конечных точек.
  • #15 Первый сценарий – авторизация приложения, которому предоставлен доступ. В этом случае клиентом является middle-tire приложение. Клиентское приложение обращается в Azure AD, передавая свой идентификатор и секретный ключ. Azure AD возвращает токен, который используется для доступа к ресурсам (в нашем случае – доступ к Microsoft Graph)
  • #16 Второй сценарий авторизации подразумевает делегацию пользователем своих прав приложению. Клиентское приложение перенаправляет пользователя на страницу авторизации Azure AD, где пользователь вводит логин и пароль. После авторизации Azure AD возвращает код, который используется для получения токена в Azure AD и дальнейшего доступа к ресурсам.
  • #18 В первом примере я покажу простое веб-приложение, которое будет отображать данные из Excel-файла, расположенного в OneDrive.
  • #19 Для авторизации в Single Page Application существует библиотека Active Directory Authentication Library (ADAL) for JavaScript (https://github.com/AzureAD/azure-activedirectory-library-for-js)
  • #20 Для авторизации в Single Page Application существует библиотека Active Directory Authentication Library (ADAL) for JavaScript (https://github.com/AzureAD/azure-activedirectory-library-for-js)