32

Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive

Embed Size (px)

Citation preview

Page 1: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive
Page 2: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive
Page 3: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive

The opportunity

Microsoft Graph - the Basics

Using Microsoft Graph

Roadmap

Agenda

Page 4: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive

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)

Page 5: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive

GROUPS

ME

CONVERSATIONS CONTENT

INSIGHTS

CONTACTS

PEOPLE

ORGANIZATION

TASKSEMAIL

EVENTSDOCUMENTS

DEVICES

CHATS

SITES

ACTIVITY

TRENDING

SHARED

REPORTS

Page 6: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive

Microsoft Graph

STANDALONE WEB AND DEVICE APPS

Î Î

EXTENSIONS

EMBEDDED CANVASES

Page 7: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive

The opportunity

Microsoft Graph - the Basics

Using Microsoft Graph

Roadmap

Agenda

Page 8: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive
Page 9: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive

Users Groups Outlook Calendar SharePointExcel IntuneTeams Azure ADOneNote Planner

https://graph.microsoft.com

Your appOne endpointOne tokenAll users

Datapreviewpreview

GAGAGA

Page 10: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive

GROUPS

ME

CONVERSATIONS CONTENT

INSIGHTS

CONTACTS

PEOPLE

ORGANIZATION

TASKSEMAIL

EVENTSDOCUMENTS

DEVICES

CHATS

COLLABORATION

ACTIVITY

TRENDING

SHARED

REPORTS

Page 11: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive

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

Page 12: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive

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

Page 13: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive

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": "[email protected]" }

], "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

Page 14: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive

Agenda The opportunity

Microsoft Graph - the Basics

Using Microsoft Graph

Roadmap

Page 15: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive

/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}

Page 16: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive
Page 17: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive
Page 18: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive

access_token

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

MSAL

YOUR APP

MicrosoftGraph

id_token

access_token refresh_token

MicrosoftIdentity

Page 19: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive

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

Page 20: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive

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

Page 21: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive

Capabilities

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

Page 22: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive

$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

Page 23: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive

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

Page 24: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive

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

Page 25: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive

Easy access to data and intelligence

in Office365

Secure at the core

Web Standards, Open Platform

HTML

Active users

100M+

Page 26: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive

Smart Meetings

Custom Dashboards

Intelligent Business Process

Smart Pickers

Graph-Powered Bots

Graph-Connected Devices

… and MORE

Page 27: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive

Agenda The opportunity

Microsoft Graph - the Basics

Using Microsoft Graph

Roadmap

Page 28: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive

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

Page 29: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive

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

Page 30: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive
Page 31: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive

https://graph.microsoft.com

Twitter#MicrosoftGraph

GitHub/MicrosoftGraph

StackOverflow[MicrosoftGraph]

Page 32: Xamarin - Microsoft Graph Build smarter productivity apps · Capabilities Generally Available ( v1.0 ) Preview ( beta ) Webhooks for OneDrive and Outlook Delta query for OneDrive