xamarin - microsoft graph build smarter productivity apps · capabilities generally available (...

Post on 17-Apr-2018

238 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

The opportunity

Microsoft Graph - the Basics

Using Microsoft Graph

Roadmap

Agenda

90%of Fortune 500

companies

Are using data in Microsoft Graph

100Mmonthly

active users

Office 365 commercial

subscriptions

50K+new SMBs per

month

In Office 365

8Tresources

in Microsoft Graph

(emails, events, calendar, users, files)

GROUPS

ME

CONVERSATIONS CONTENT

INSIGHTS

CONTACTS

PEOPLE

ORGANIZATION

TASKSEMAIL

EVENTSDOCUMENTS

DEVICES

CHATS

SITES

ACTIVITY

TRENDING

SHARED

REPORTS

Microsoft Graph

STANDALONE WEB AND DEVICE APPS

Î Î

EXTENSIONS

EMBEDDED CANVASES

The opportunity

Microsoft Graph - the Basics

Using Microsoft Graph

Roadmap

Agenda

Users Groups Outlook Calendar SharePointExcel IntuneTeams Azure ADOneNote Planner

https://graph.microsoft.com

Your appOne endpointOne tokenAll users

Datapreviewpreview

GAGAGA

GROUPS

ME

CONVERSATIONS CONTENT

INSIGHTS

CONTACTS

PEOPLE

ORGANIZATION

TASKSEMAIL

EVENTSDOCUMENTS

DEVICES

CHATS

COLLABORATION

ACTIVITY

TRENDING

SHARED

REPORTS

profile

GET: /users/mikeam {

"displayName": "Mike", "jobTitle": "DIR, PRODUCT MTKG ECOSYSTEM",

}

GET: /users/mikeam/photo/…{}

GET: /users/mikeam/manager{"displayName": "Rob", …}

GET: /users/mikeam/directReports"value" : [

{"displayName": "Matt", …},{"displayName": "Dmitry", …},

]

GET: /me/memberOf/…"value" : [

{"displayName": "Office marketing", …}]

Robmanager

Dmitry Matt Sudhi

directReports

GroupsmemberOf

content

GET /me/drive/root/…"value" : [

{"name": "proposal.pptx",… },{"name": "forecast.xlsx",… }

]

GET /drives/items/{id}/workbook

GET /me/messages

GET /me/events

GET /me/contacts

GET /me/onenote/notebooks

GET /me/planner/tasks

GET /me/devices

GET /sites:/teams/opg:/

GET /sites:/teams/opg:/lists

GET /groups/{id}/conversations

Email

Documents

Contacts

Calendar

Tasks

Meetings

Sites

insights

GET /me/insights/trending"value" : [

{"name": "presentation.pptx", …},{"name": "forecast.xlsx", …}

]

GET /me/drive/recent"value" : [

{"name": "guidelines.pptx", …},{"name": "budget.xlsx", …}

]

GET people/?$search="topic: planning""value" : [

{"displayName": "Dan", …},{"displayName": "Sean", …},

]

POST: /me/findMeetingTimes{

"attendees": [ {

"type": "required", "emailAddress": {

"address": "ana@contoso.com" }

], "meetingDuration": "2h"

}

TrendingDocuments

People I’m working with

Find me the best time to meet Ana

Out of office

Search people based on topics

RecentDocuments

Agenda The opportunity

Microsoft Graph - the Basics

Using Microsoft Graph

Roadmap

/v1.0 /beta

/users /groups /sites /drives /devices more…/users/AAA

/users/AAA/department/users/AAA/events

/users/AAA/events?$top=5$select $orderby

$filter $expand

$top $skip $skiptoken

/{version} ?{query-parameters}/{resource}/{id}/{property}

access_token

Register your app at https://apps.dev.microsoft.com

MSAL

YOUR APP

MicrosoftGraph

id_token

access_token refresh_token

MicrosoftIdentity

https://github.com/Azure-Samples/active-directory-xamarin-native-v2

https://github.com/OfficeDev/TrainingContent/tree/master/O3654/O3654-3%20Xamarin%20Forms

https://github.com/microsoftgraph/xamarin-csharp-propertymanager-sample

App type

Who can consent

Permissions of the request

Get access on behalf of users Get access as a service

Mobile, Web and Single page app Service and Daemon

Users can consent for their data

Admin can consentfor them or for all users

Only admin can consent

App permissions

User permissions

App permissions

Capabilities

Traversal of relationshipsQuery parametersBatching - previewNotifications - users & groups previewTrack changes - GAExtensions - GA

$batch

BatchingPOST /$batch{

"requests": [{"id": "1","url": "/me/drive/root/children","method": "POST","body": {

"name": "folder1","folder": {}

},"headers": {

"content-type": "application/json"}

}, {"id": "2","url": "/me/drive/root/children/folder1","method": "GET","dependsOn": ["1"]

}, {"id": "3","method": "GET","url": "/me/planner/tasks"

}, {"id": "4","method": "GET","url": "/groups/{id}/events"

}]

}

Email

Documents

Contacts

Calendar

Tasks

Meetings

Sites

notifications track changesGET/me/mailFolders/{id}/messages/delta"@odata.deltalink":"me/mailfolders('AA')/messages/delta?$deltatoken=BB","value" : […]

POST /subscriptions{

"changeType": "created,updated", "notificationUrl": "https://app.net/callback","resource": "/me/mailfolders('AA')/messages",

}

GET/me/mailFolders/{id}/messages/delta?$deltatoken=BB""value" : […]

Edited a file

Got a new hire

Added a new member to a group

Scheduled a new meeting

Got high important email

extensions

Open ExtensionsGET /me/message/<id>/?$expand=extensions{"displayName": “Mike", "extensions": [

{"extensionName": "Com.Contoso.Referral","companyName": "Wingtip Toys","expirationDate": "2017-12-30T11","dealValue": 10,000

}]

}

Schema extensionsPOST /schemaExtensions{

"id": "training_courses", "targetTypes": [ "Group" ],"properties": [

{"name": "courseName","type": "String"

}…]

}

GET /groups?$filter=courses/name eq Math101

Customer referral email

Carlo’s son: Johnny

Favorite color: blue

Group: Math 101

Easy access to data and intelligence

in Office365

Secure at the core

Web Standards, Open Platform

HTML

Active users

100M+

Smart Meetings

Custom Dashboards

Intelligent Business Process

Smart Pickers

Graph-Powered Bots

Graph-Connected Devices

… and MORE

Agenda The opportunity

Microsoft Graph - the Basics

Using Microsoft Graph

Roadmap

Data Generally Available ( v1.0 ) Preview ( beta )

Azure Active DirectoryOutlook mail, calendar and contactsOffice 365 groups and conversationsOneDrive drives and filesExcelPlannerOneNoteSharePoint Sites

People Microsoft TeamsInsights (powering Delve)SharePoint Lists Outlook TasksIntuneOffice 365 ReportingAD Administrative UnitsProject Rome

Capabilities Generally Available ( v1.0 ) Preview ( beta )

Webhooks for OneDrive and OutlookDelta query for OneDriveSDKs for .Net/Xamarin and AndroidSDKs for JS/Node and PHPAppOnly webhooks for OutlookDelta query for AAD and OutlookExtend Graph with your own data

SDKs for iOS, Python, RubyHybrid on-premise support for Outlook (config wizard support)Webhooks for users and groups Webhooks for Outlook consumerDelta query scoping filter for AADBatching

Microsoft Graph is available in every Office 365 and Azure region and complies with sovereign/national cloud data requirements

https://graph.microsoft.com

Twitter#MicrosoftGraph

GitHub/MicrosoftGraph

StackOverflow[MicrosoftGraph]

top related