microsoft graph with asp.net mvc
Post on 22-Jan-2018
77 Views
Preview:
TRANSCRIPT
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels Track DEVELOPER| Level 300
Microsoft Graph with ASPNET MVC
Donald Hessing (MCM)
Pla
tin
um
Go
ldSi
lver
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Who am I
bull Donald Hessing
bull Microsoft Lead Architect ndash Digital Customer Experience ndash Capgemini Netherlands
bull Microsoft Certified Master(MCM) for SharePoint
bull Speaker Chair for ESPC17
bull dhessing
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Agenda
bull Short Introduction to the Microsoft Graph
bull Microsoft Graph SDK
bull Extensions (Open and Schema)
bull Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Before Microsoft Graph
bull Each service has its own set of APIs characteristics data model and authentication
bull Separate authentication stack for work and personal accounts
bull High learning curve - not always compatible with non Microsoft stack
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Single endpoint for Office 365 Services
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Unified API Style
Operation Service Endpoint
GET my profile httpsgraphmicrosoftcomv10me
GET my files httpsgraphmicrosoftcomv10driverootchildren
GET my photo httpsgraphmicrosoftcomv10photo$value
GET my mail httpsgraphmicrosoftcomv10memessages
GET my calendar httpsgraphmicrosoftcomv10mecalendar
GET my manager httpsgraphmicrosoftcomv10memanager
GET group conversations httpsgraphmicrosoftcomv10groupsltidgtconversations
GET files trending around me httpsgraphmicrosoftcomv10meinsightstrending
httpsgraphmicrosoftcom
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
What has become GA over the last year
bull Azure Active Directory
bull Outlook mail Calendar and Contacts
bull Office 365 Groups and Conversations
bull OneDrive Drives and Files
bull WebHooks for Outlook Groups User OneDrive data
bull SharePoint amp LiveID profiles
bull Office 365 Reports
bull Extensions
bull Excel API
bull FindMeetingTime
bull Planner
bull Extensions
bull Delta Queries
bull Sites (SharePoint)
httpsdevelopermicrosoftcomen-usgraphdocsconceptschangelog
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Authentication
ADAL v10bull Authentication library to deal with Azure
Active Directory authentication flow
bull Support for Work and School accounts via Azure Active Directory
bull Full set of SDKs available
bull Supports Office 365 Services
bull User gives consent for all permissions at first start
MSAL v20bull Unified authentication library to deal with
authentication across the different identity platforms provided by Microsoft
bull Support for Work School and Personal accounts ndash No Azure requirement
bull User gives consent when the applications needs it
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Revoke User Consent
Native Application
bull Consent is part of the Refresh Token and typically stored on the device
bull Revoke Consent typically means uninstalling the application or clear the TokenCache
Web Server Applications
bull Consent is stored in Azure Active Directory and not part of the Refresh Token
bull User can Revoke Consent at httpsaccountactivedirectorywindowsazurecom
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Authentication flow for Microsoft Graph
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOApplication registration and Starter project
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph API SDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph API SDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Getting started
httpswwwnugetorgpackagesMicrosoftGraph
140
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
SDK Query Model
bull Implements the ODATA behaviour and signatures as methods on the Request
Select() -gt $select
Filter() -gt $filter
OrderBy() -gt $orderby
Expand() -gt $expand
bull Provides paging capabilitiesbull Through NextPageRequest property on query resultscollections
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Working with resources
bull Graph SDK implements support for managing the Graph ResourcesGetAsync() -gt GET
AddAsync()-gt POST
UpdateAsync()-gt PATCH
PutAsync() -gt PUT
DeleteAsync() -gt DELETE
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph ASPNET SDK Example
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Create Group
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMODemo Microsoft Graph SDK for NET
httpsgithubcomSharePointPnPtreemasterSamplesMicrosoftGraphOffice365DotNetSDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Supported resources for Extensions
bull When using personal accounts (MSAL) you are limited to the event post group message contact and user resources
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
bull Add Custom Properties to Microsoft Graph Resources without requiring an external data source
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Type of Extensions
Open Extensions (aka Office 365 data extensions)
bull Untyped data that is scoped to the tenant
bull extensionName property should be unique within the tenant
bull Naming convention ComCapgeminiManagedEvent for the CapgeminiComtenant
Schema Extensions
bull Strongly typed data ndash define your own schema extension definition
bull Schema extension definition should have a unique name for its idbull By using the an existing vanity domain that is verified with your tenant (eg capgeminicom)
for capgemini_ManagedEventbull By using a name without a domain eg ManagedEvent The id will be based on the schema
name and prefixed with 8 random characters Eg extabcdefgh_ManagedEvent
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Schema Extensions LifecycleState LifeCycle state behaviour
InDevelopment bull Initial state ndash the owner app is still developing the schema extension bull The owner app can move the extension from InDevelopment to the Available state
Available bull The schema extension is available for use by all apps in any tenant bull Only the owner app can update the extension definition with additive changesbull The owner app can move the schema extension from Available to the Deprecated state
Deprecated bull The schema extension definition can no longer be read or modified bull Apps can however still read update or delete existing extension property valuesbull The owner app can move the schema extension from Deprecated back to the Available
state ()
() Fixed Make sure you have the latest bits
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOExtensions
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
bull Microsoft Graph REST API clients can subscribe to changes on the following resourcesbull Messagesbull Eventsbull Contactsbull Group conversationsbull Drive root items
bull After Microsoft Graph accepts the subscription request it pushes notifications to the URL specified in the subscription
bull The app then takes action according to its business logic For example it fetches more data updates cache and views etc
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
3 NOTIFY2 VALIDATE
subscriptions
notifications
1 CREATE
Outlook Apps
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
Pla
tin
um
Go
ldSi
lver
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Who am I
bull Donald Hessing
bull Microsoft Lead Architect ndash Digital Customer Experience ndash Capgemini Netherlands
bull Microsoft Certified Master(MCM) for SharePoint
bull Speaker Chair for ESPC17
bull dhessing
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Agenda
bull Short Introduction to the Microsoft Graph
bull Microsoft Graph SDK
bull Extensions (Open and Schema)
bull Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Before Microsoft Graph
bull Each service has its own set of APIs characteristics data model and authentication
bull Separate authentication stack for work and personal accounts
bull High learning curve - not always compatible with non Microsoft stack
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Single endpoint for Office 365 Services
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Unified API Style
Operation Service Endpoint
GET my profile httpsgraphmicrosoftcomv10me
GET my files httpsgraphmicrosoftcomv10driverootchildren
GET my photo httpsgraphmicrosoftcomv10photo$value
GET my mail httpsgraphmicrosoftcomv10memessages
GET my calendar httpsgraphmicrosoftcomv10mecalendar
GET my manager httpsgraphmicrosoftcomv10memanager
GET group conversations httpsgraphmicrosoftcomv10groupsltidgtconversations
GET files trending around me httpsgraphmicrosoftcomv10meinsightstrending
httpsgraphmicrosoftcom
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
What has become GA over the last year
bull Azure Active Directory
bull Outlook mail Calendar and Contacts
bull Office 365 Groups and Conversations
bull OneDrive Drives and Files
bull WebHooks for Outlook Groups User OneDrive data
bull SharePoint amp LiveID profiles
bull Office 365 Reports
bull Extensions
bull Excel API
bull FindMeetingTime
bull Planner
bull Extensions
bull Delta Queries
bull Sites (SharePoint)
httpsdevelopermicrosoftcomen-usgraphdocsconceptschangelog
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Authentication
ADAL v10bull Authentication library to deal with Azure
Active Directory authentication flow
bull Support for Work and School accounts via Azure Active Directory
bull Full set of SDKs available
bull Supports Office 365 Services
bull User gives consent for all permissions at first start
MSAL v20bull Unified authentication library to deal with
authentication across the different identity platforms provided by Microsoft
bull Support for Work School and Personal accounts ndash No Azure requirement
bull User gives consent when the applications needs it
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Revoke User Consent
Native Application
bull Consent is part of the Refresh Token and typically stored on the device
bull Revoke Consent typically means uninstalling the application or clear the TokenCache
Web Server Applications
bull Consent is stored in Azure Active Directory and not part of the Refresh Token
bull User can Revoke Consent at httpsaccountactivedirectorywindowsazurecom
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Authentication flow for Microsoft Graph
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOApplication registration and Starter project
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph API SDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph API SDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Getting started
httpswwwnugetorgpackagesMicrosoftGraph
140
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
SDK Query Model
bull Implements the ODATA behaviour and signatures as methods on the Request
Select() -gt $select
Filter() -gt $filter
OrderBy() -gt $orderby
Expand() -gt $expand
bull Provides paging capabilitiesbull Through NextPageRequest property on query resultscollections
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Working with resources
bull Graph SDK implements support for managing the Graph ResourcesGetAsync() -gt GET
AddAsync()-gt POST
UpdateAsync()-gt PATCH
PutAsync() -gt PUT
DeleteAsync() -gt DELETE
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph ASPNET SDK Example
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Create Group
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMODemo Microsoft Graph SDK for NET
httpsgithubcomSharePointPnPtreemasterSamplesMicrosoftGraphOffice365DotNetSDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Supported resources for Extensions
bull When using personal accounts (MSAL) you are limited to the event post group message contact and user resources
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
bull Add Custom Properties to Microsoft Graph Resources without requiring an external data source
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Type of Extensions
Open Extensions (aka Office 365 data extensions)
bull Untyped data that is scoped to the tenant
bull extensionName property should be unique within the tenant
bull Naming convention ComCapgeminiManagedEvent for the CapgeminiComtenant
Schema Extensions
bull Strongly typed data ndash define your own schema extension definition
bull Schema extension definition should have a unique name for its idbull By using the an existing vanity domain that is verified with your tenant (eg capgeminicom)
for capgemini_ManagedEventbull By using a name without a domain eg ManagedEvent The id will be based on the schema
name and prefixed with 8 random characters Eg extabcdefgh_ManagedEvent
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Schema Extensions LifecycleState LifeCycle state behaviour
InDevelopment bull Initial state ndash the owner app is still developing the schema extension bull The owner app can move the extension from InDevelopment to the Available state
Available bull The schema extension is available for use by all apps in any tenant bull Only the owner app can update the extension definition with additive changesbull The owner app can move the schema extension from Available to the Deprecated state
Deprecated bull The schema extension definition can no longer be read or modified bull Apps can however still read update or delete existing extension property valuesbull The owner app can move the schema extension from Deprecated back to the Available
state ()
() Fixed Make sure you have the latest bits
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOExtensions
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
bull Microsoft Graph REST API clients can subscribe to changes on the following resourcesbull Messagesbull Eventsbull Contactsbull Group conversationsbull Drive root items
bull After Microsoft Graph accepts the subscription request it pushes notifications to the URL specified in the subscription
bull The app then takes action according to its business logic For example it fetches more data updates cache and views etc
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
3 NOTIFY2 VALIDATE
subscriptions
notifications
1 CREATE
Outlook Apps
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Who am I
bull Donald Hessing
bull Microsoft Lead Architect ndash Digital Customer Experience ndash Capgemini Netherlands
bull Microsoft Certified Master(MCM) for SharePoint
bull Speaker Chair for ESPC17
bull dhessing
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Agenda
bull Short Introduction to the Microsoft Graph
bull Microsoft Graph SDK
bull Extensions (Open and Schema)
bull Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Before Microsoft Graph
bull Each service has its own set of APIs characteristics data model and authentication
bull Separate authentication stack for work and personal accounts
bull High learning curve - not always compatible with non Microsoft stack
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Single endpoint for Office 365 Services
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Unified API Style
Operation Service Endpoint
GET my profile httpsgraphmicrosoftcomv10me
GET my files httpsgraphmicrosoftcomv10driverootchildren
GET my photo httpsgraphmicrosoftcomv10photo$value
GET my mail httpsgraphmicrosoftcomv10memessages
GET my calendar httpsgraphmicrosoftcomv10mecalendar
GET my manager httpsgraphmicrosoftcomv10memanager
GET group conversations httpsgraphmicrosoftcomv10groupsltidgtconversations
GET files trending around me httpsgraphmicrosoftcomv10meinsightstrending
httpsgraphmicrosoftcom
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
What has become GA over the last year
bull Azure Active Directory
bull Outlook mail Calendar and Contacts
bull Office 365 Groups and Conversations
bull OneDrive Drives and Files
bull WebHooks for Outlook Groups User OneDrive data
bull SharePoint amp LiveID profiles
bull Office 365 Reports
bull Extensions
bull Excel API
bull FindMeetingTime
bull Planner
bull Extensions
bull Delta Queries
bull Sites (SharePoint)
httpsdevelopermicrosoftcomen-usgraphdocsconceptschangelog
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Authentication
ADAL v10bull Authentication library to deal with Azure
Active Directory authentication flow
bull Support for Work and School accounts via Azure Active Directory
bull Full set of SDKs available
bull Supports Office 365 Services
bull User gives consent for all permissions at first start
MSAL v20bull Unified authentication library to deal with
authentication across the different identity platforms provided by Microsoft
bull Support for Work School and Personal accounts ndash No Azure requirement
bull User gives consent when the applications needs it
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Revoke User Consent
Native Application
bull Consent is part of the Refresh Token and typically stored on the device
bull Revoke Consent typically means uninstalling the application or clear the TokenCache
Web Server Applications
bull Consent is stored in Azure Active Directory and not part of the Refresh Token
bull User can Revoke Consent at httpsaccountactivedirectorywindowsazurecom
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Authentication flow for Microsoft Graph
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOApplication registration and Starter project
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph API SDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph API SDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Getting started
httpswwwnugetorgpackagesMicrosoftGraph
140
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
SDK Query Model
bull Implements the ODATA behaviour and signatures as methods on the Request
Select() -gt $select
Filter() -gt $filter
OrderBy() -gt $orderby
Expand() -gt $expand
bull Provides paging capabilitiesbull Through NextPageRequest property on query resultscollections
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Working with resources
bull Graph SDK implements support for managing the Graph ResourcesGetAsync() -gt GET
AddAsync()-gt POST
UpdateAsync()-gt PATCH
PutAsync() -gt PUT
DeleteAsync() -gt DELETE
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph ASPNET SDK Example
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Create Group
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMODemo Microsoft Graph SDK for NET
httpsgithubcomSharePointPnPtreemasterSamplesMicrosoftGraphOffice365DotNetSDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Supported resources for Extensions
bull When using personal accounts (MSAL) you are limited to the event post group message contact and user resources
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
bull Add Custom Properties to Microsoft Graph Resources without requiring an external data source
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Type of Extensions
Open Extensions (aka Office 365 data extensions)
bull Untyped data that is scoped to the tenant
bull extensionName property should be unique within the tenant
bull Naming convention ComCapgeminiManagedEvent for the CapgeminiComtenant
Schema Extensions
bull Strongly typed data ndash define your own schema extension definition
bull Schema extension definition should have a unique name for its idbull By using the an existing vanity domain that is verified with your tenant (eg capgeminicom)
for capgemini_ManagedEventbull By using a name without a domain eg ManagedEvent The id will be based on the schema
name and prefixed with 8 random characters Eg extabcdefgh_ManagedEvent
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Schema Extensions LifecycleState LifeCycle state behaviour
InDevelopment bull Initial state ndash the owner app is still developing the schema extension bull The owner app can move the extension from InDevelopment to the Available state
Available bull The schema extension is available for use by all apps in any tenant bull Only the owner app can update the extension definition with additive changesbull The owner app can move the schema extension from Available to the Deprecated state
Deprecated bull The schema extension definition can no longer be read or modified bull Apps can however still read update or delete existing extension property valuesbull The owner app can move the schema extension from Deprecated back to the Available
state ()
() Fixed Make sure you have the latest bits
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOExtensions
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
bull Microsoft Graph REST API clients can subscribe to changes on the following resourcesbull Messagesbull Eventsbull Contactsbull Group conversationsbull Drive root items
bull After Microsoft Graph accepts the subscription request it pushes notifications to the URL specified in the subscription
bull The app then takes action according to its business logic For example it fetches more data updates cache and views etc
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
3 NOTIFY2 VALIDATE
subscriptions
notifications
1 CREATE
Outlook Apps
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Agenda
bull Short Introduction to the Microsoft Graph
bull Microsoft Graph SDK
bull Extensions (Open and Schema)
bull Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Before Microsoft Graph
bull Each service has its own set of APIs characteristics data model and authentication
bull Separate authentication stack for work and personal accounts
bull High learning curve - not always compatible with non Microsoft stack
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Single endpoint for Office 365 Services
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Unified API Style
Operation Service Endpoint
GET my profile httpsgraphmicrosoftcomv10me
GET my files httpsgraphmicrosoftcomv10driverootchildren
GET my photo httpsgraphmicrosoftcomv10photo$value
GET my mail httpsgraphmicrosoftcomv10memessages
GET my calendar httpsgraphmicrosoftcomv10mecalendar
GET my manager httpsgraphmicrosoftcomv10memanager
GET group conversations httpsgraphmicrosoftcomv10groupsltidgtconversations
GET files trending around me httpsgraphmicrosoftcomv10meinsightstrending
httpsgraphmicrosoftcom
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
What has become GA over the last year
bull Azure Active Directory
bull Outlook mail Calendar and Contacts
bull Office 365 Groups and Conversations
bull OneDrive Drives and Files
bull WebHooks for Outlook Groups User OneDrive data
bull SharePoint amp LiveID profiles
bull Office 365 Reports
bull Extensions
bull Excel API
bull FindMeetingTime
bull Planner
bull Extensions
bull Delta Queries
bull Sites (SharePoint)
httpsdevelopermicrosoftcomen-usgraphdocsconceptschangelog
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Authentication
ADAL v10bull Authentication library to deal with Azure
Active Directory authentication flow
bull Support for Work and School accounts via Azure Active Directory
bull Full set of SDKs available
bull Supports Office 365 Services
bull User gives consent for all permissions at first start
MSAL v20bull Unified authentication library to deal with
authentication across the different identity platforms provided by Microsoft
bull Support for Work School and Personal accounts ndash No Azure requirement
bull User gives consent when the applications needs it
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Revoke User Consent
Native Application
bull Consent is part of the Refresh Token and typically stored on the device
bull Revoke Consent typically means uninstalling the application or clear the TokenCache
Web Server Applications
bull Consent is stored in Azure Active Directory and not part of the Refresh Token
bull User can Revoke Consent at httpsaccountactivedirectorywindowsazurecom
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Authentication flow for Microsoft Graph
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOApplication registration and Starter project
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph API SDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph API SDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Getting started
httpswwwnugetorgpackagesMicrosoftGraph
140
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
SDK Query Model
bull Implements the ODATA behaviour and signatures as methods on the Request
Select() -gt $select
Filter() -gt $filter
OrderBy() -gt $orderby
Expand() -gt $expand
bull Provides paging capabilitiesbull Through NextPageRequest property on query resultscollections
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Working with resources
bull Graph SDK implements support for managing the Graph ResourcesGetAsync() -gt GET
AddAsync()-gt POST
UpdateAsync()-gt PATCH
PutAsync() -gt PUT
DeleteAsync() -gt DELETE
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph ASPNET SDK Example
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Create Group
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMODemo Microsoft Graph SDK for NET
httpsgithubcomSharePointPnPtreemasterSamplesMicrosoftGraphOffice365DotNetSDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Supported resources for Extensions
bull When using personal accounts (MSAL) you are limited to the event post group message contact and user resources
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
bull Add Custom Properties to Microsoft Graph Resources without requiring an external data source
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Type of Extensions
Open Extensions (aka Office 365 data extensions)
bull Untyped data that is scoped to the tenant
bull extensionName property should be unique within the tenant
bull Naming convention ComCapgeminiManagedEvent for the CapgeminiComtenant
Schema Extensions
bull Strongly typed data ndash define your own schema extension definition
bull Schema extension definition should have a unique name for its idbull By using the an existing vanity domain that is verified with your tenant (eg capgeminicom)
for capgemini_ManagedEventbull By using a name without a domain eg ManagedEvent The id will be based on the schema
name and prefixed with 8 random characters Eg extabcdefgh_ManagedEvent
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Schema Extensions LifecycleState LifeCycle state behaviour
InDevelopment bull Initial state ndash the owner app is still developing the schema extension bull The owner app can move the extension from InDevelopment to the Available state
Available bull The schema extension is available for use by all apps in any tenant bull Only the owner app can update the extension definition with additive changesbull The owner app can move the schema extension from Available to the Deprecated state
Deprecated bull The schema extension definition can no longer be read or modified bull Apps can however still read update or delete existing extension property valuesbull The owner app can move the schema extension from Deprecated back to the Available
state ()
() Fixed Make sure you have the latest bits
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOExtensions
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
bull Microsoft Graph REST API clients can subscribe to changes on the following resourcesbull Messagesbull Eventsbull Contactsbull Group conversationsbull Drive root items
bull After Microsoft Graph accepts the subscription request it pushes notifications to the URL specified in the subscription
bull The app then takes action according to its business logic For example it fetches more data updates cache and views etc
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
3 NOTIFY2 VALIDATE
subscriptions
notifications
1 CREATE
Outlook Apps
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Before Microsoft Graph
bull Each service has its own set of APIs characteristics data model and authentication
bull Separate authentication stack for work and personal accounts
bull High learning curve - not always compatible with non Microsoft stack
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Single endpoint for Office 365 Services
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Unified API Style
Operation Service Endpoint
GET my profile httpsgraphmicrosoftcomv10me
GET my files httpsgraphmicrosoftcomv10driverootchildren
GET my photo httpsgraphmicrosoftcomv10photo$value
GET my mail httpsgraphmicrosoftcomv10memessages
GET my calendar httpsgraphmicrosoftcomv10mecalendar
GET my manager httpsgraphmicrosoftcomv10memanager
GET group conversations httpsgraphmicrosoftcomv10groupsltidgtconversations
GET files trending around me httpsgraphmicrosoftcomv10meinsightstrending
httpsgraphmicrosoftcom
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
What has become GA over the last year
bull Azure Active Directory
bull Outlook mail Calendar and Contacts
bull Office 365 Groups and Conversations
bull OneDrive Drives and Files
bull WebHooks for Outlook Groups User OneDrive data
bull SharePoint amp LiveID profiles
bull Office 365 Reports
bull Extensions
bull Excel API
bull FindMeetingTime
bull Planner
bull Extensions
bull Delta Queries
bull Sites (SharePoint)
httpsdevelopermicrosoftcomen-usgraphdocsconceptschangelog
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Authentication
ADAL v10bull Authentication library to deal with Azure
Active Directory authentication flow
bull Support for Work and School accounts via Azure Active Directory
bull Full set of SDKs available
bull Supports Office 365 Services
bull User gives consent for all permissions at first start
MSAL v20bull Unified authentication library to deal with
authentication across the different identity platforms provided by Microsoft
bull Support for Work School and Personal accounts ndash No Azure requirement
bull User gives consent when the applications needs it
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Revoke User Consent
Native Application
bull Consent is part of the Refresh Token and typically stored on the device
bull Revoke Consent typically means uninstalling the application or clear the TokenCache
Web Server Applications
bull Consent is stored in Azure Active Directory and not part of the Refresh Token
bull User can Revoke Consent at httpsaccountactivedirectorywindowsazurecom
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Authentication flow for Microsoft Graph
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOApplication registration and Starter project
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph API SDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph API SDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Getting started
httpswwwnugetorgpackagesMicrosoftGraph
140
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
SDK Query Model
bull Implements the ODATA behaviour and signatures as methods on the Request
Select() -gt $select
Filter() -gt $filter
OrderBy() -gt $orderby
Expand() -gt $expand
bull Provides paging capabilitiesbull Through NextPageRequest property on query resultscollections
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Working with resources
bull Graph SDK implements support for managing the Graph ResourcesGetAsync() -gt GET
AddAsync()-gt POST
UpdateAsync()-gt PATCH
PutAsync() -gt PUT
DeleteAsync() -gt DELETE
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph ASPNET SDK Example
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Create Group
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMODemo Microsoft Graph SDK for NET
httpsgithubcomSharePointPnPtreemasterSamplesMicrosoftGraphOffice365DotNetSDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Supported resources for Extensions
bull When using personal accounts (MSAL) you are limited to the event post group message contact and user resources
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
bull Add Custom Properties to Microsoft Graph Resources without requiring an external data source
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Type of Extensions
Open Extensions (aka Office 365 data extensions)
bull Untyped data that is scoped to the tenant
bull extensionName property should be unique within the tenant
bull Naming convention ComCapgeminiManagedEvent for the CapgeminiComtenant
Schema Extensions
bull Strongly typed data ndash define your own schema extension definition
bull Schema extension definition should have a unique name for its idbull By using the an existing vanity domain that is verified with your tenant (eg capgeminicom)
for capgemini_ManagedEventbull By using a name without a domain eg ManagedEvent The id will be based on the schema
name and prefixed with 8 random characters Eg extabcdefgh_ManagedEvent
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Schema Extensions LifecycleState LifeCycle state behaviour
InDevelopment bull Initial state ndash the owner app is still developing the schema extension bull The owner app can move the extension from InDevelopment to the Available state
Available bull The schema extension is available for use by all apps in any tenant bull Only the owner app can update the extension definition with additive changesbull The owner app can move the schema extension from Available to the Deprecated state
Deprecated bull The schema extension definition can no longer be read or modified bull Apps can however still read update or delete existing extension property valuesbull The owner app can move the schema extension from Deprecated back to the Available
state ()
() Fixed Make sure you have the latest bits
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOExtensions
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
bull Microsoft Graph REST API clients can subscribe to changes on the following resourcesbull Messagesbull Eventsbull Contactsbull Group conversationsbull Drive root items
bull After Microsoft Graph accepts the subscription request it pushes notifications to the URL specified in the subscription
bull The app then takes action according to its business logic For example it fetches more data updates cache and views etc
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
3 NOTIFY2 VALIDATE
subscriptions
notifications
1 CREATE
Outlook Apps
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Single endpoint for Office 365 Services
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Unified API Style
Operation Service Endpoint
GET my profile httpsgraphmicrosoftcomv10me
GET my files httpsgraphmicrosoftcomv10driverootchildren
GET my photo httpsgraphmicrosoftcomv10photo$value
GET my mail httpsgraphmicrosoftcomv10memessages
GET my calendar httpsgraphmicrosoftcomv10mecalendar
GET my manager httpsgraphmicrosoftcomv10memanager
GET group conversations httpsgraphmicrosoftcomv10groupsltidgtconversations
GET files trending around me httpsgraphmicrosoftcomv10meinsightstrending
httpsgraphmicrosoftcom
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
What has become GA over the last year
bull Azure Active Directory
bull Outlook mail Calendar and Contacts
bull Office 365 Groups and Conversations
bull OneDrive Drives and Files
bull WebHooks for Outlook Groups User OneDrive data
bull SharePoint amp LiveID profiles
bull Office 365 Reports
bull Extensions
bull Excel API
bull FindMeetingTime
bull Planner
bull Extensions
bull Delta Queries
bull Sites (SharePoint)
httpsdevelopermicrosoftcomen-usgraphdocsconceptschangelog
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Authentication
ADAL v10bull Authentication library to deal with Azure
Active Directory authentication flow
bull Support for Work and School accounts via Azure Active Directory
bull Full set of SDKs available
bull Supports Office 365 Services
bull User gives consent for all permissions at first start
MSAL v20bull Unified authentication library to deal with
authentication across the different identity platforms provided by Microsoft
bull Support for Work School and Personal accounts ndash No Azure requirement
bull User gives consent when the applications needs it
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Revoke User Consent
Native Application
bull Consent is part of the Refresh Token and typically stored on the device
bull Revoke Consent typically means uninstalling the application or clear the TokenCache
Web Server Applications
bull Consent is stored in Azure Active Directory and not part of the Refresh Token
bull User can Revoke Consent at httpsaccountactivedirectorywindowsazurecom
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Authentication flow for Microsoft Graph
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOApplication registration and Starter project
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph API SDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph API SDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Getting started
httpswwwnugetorgpackagesMicrosoftGraph
140
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
SDK Query Model
bull Implements the ODATA behaviour and signatures as methods on the Request
Select() -gt $select
Filter() -gt $filter
OrderBy() -gt $orderby
Expand() -gt $expand
bull Provides paging capabilitiesbull Through NextPageRequest property on query resultscollections
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Working with resources
bull Graph SDK implements support for managing the Graph ResourcesGetAsync() -gt GET
AddAsync()-gt POST
UpdateAsync()-gt PATCH
PutAsync() -gt PUT
DeleteAsync() -gt DELETE
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph ASPNET SDK Example
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Create Group
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMODemo Microsoft Graph SDK for NET
httpsgithubcomSharePointPnPtreemasterSamplesMicrosoftGraphOffice365DotNetSDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Supported resources for Extensions
bull When using personal accounts (MSAL) you are limited to the event post group message contact and user resources
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
bull Add Custom Properties to Microsoft Graph Resources without requiring an external data source
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Type of Extensions
Open Extensions (aka Office 365 data extensions)
bull Untyped data that is scoped to the tenant
bull extensionName property should be unique within the tenant
bull Naming convention ComCapgeminiManagedEvent for the CapgeminiComtenant
Schema Extensions
bull Strongly typed data ndash define your own schema extension definition
bull Schema extension definition should have a unique name for its idbull By using the an existing vanity domain that is verified with your tenant (eg capgeminicom)
for capgemini_ManagedEventbull By using a name without a domain eg ManagedEvent The id will be based on the schema
name and prefixed with 8 random characters Eg extabcdefgh_ManagedEvent
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Schema Extensions LifecycleState LifeCycle state behaviour
InDevelopment bull Initial state ndash the owner app is still developing the schema extension bull The owner app can move the extension from InDevelopment to the Available state
Available bull The schema extension is available for use by all apps in any tenant bull Only the owner app can update the extension definition with additive changesbull The owner app can move the schema extension from Available to the Deprecated state
Deprecated bull The schema extension definition can no longer be read or modified bull Apps can however still read update or delete existing extension property valuesbull The owner app can move the schema extension from Deprecated back to the Available
state ()
() Fixed Make sure you have the latest bits
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOExtensions
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
bull Microsoft Graph REST API clients can subscribe to changes on the following resourcesbull Messagesbull Eventsbull Contactsbull Group conversationsbull Drive root items
bull After Microsoft Graph accepts the subscription request it pushes notifications to the URL specified in the subscription
bull The app then takes action according to its business logic For example it fetches more data updates cache and views etc
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
3 NOTIFY2 VALIDATE
subscriptions
notifications
1 CREATE
Outlook Apps
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Unified API Style
Operation Service Endpoint
GET my profile httpsgraphmicrosoftcomv10me
GET my files httpsgraphmicrosoftcomv10driverootchildren
GET my photo httpsgraphmicrosoftcomv10photo$value
GET my mail httpsgraphmicrosoftcomv10memessages
GET my calendar httpsgraphmicrosoftcomv10mecalendar
GET my manager httpsgraphmicrosoftcomv10memanager
GET group conversations httpsgraphmicrosoftcomv10groupsltidgtconversations
GET files trending around me httpsgraphmicrosoftcomv10meinsightstrending
httpsgraphmicrosoftcom
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
What has become GA over the last year
bull Azure Active Directory
bull Outlook mail Calendar and Contacts
bull Office 365 Groups and Conversations
bull OneDrive Drives and Files
bull WebHooks for Outlook Groups User OneDrive data
bull SharePoint amp LiveID profiles
bull Office 365 Reports
bull Extensions
bull Excel API
bull FindMeetingTime
bull Planner
bull Extensions
bull Delta Queries
bull Sites (SharePoint)
httpsdevelopermicrosoftcomen-usgraphdocsconceptschangelog
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Authentication
ADAL v10bull Authentication library to deal with Azure
Active Directory authentication flow
bull Support for Work and School accounts via Azure Active Directory
bull Full set of SDKs available
bull Supports Office 365 Services
bull User gives consent for all permissions at first start
MSAL v20bull Unified authentication library to deal with
authentication across the different identity platforms provided by Microsoft
bull Support for Work School and Personal accounts ndash No Azure requirement
bull User gives consent when the applications needs it
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Revoke User Consent
Native Application
bull Consent is part of the Refresh Token and typically stored on the device
bull Revoke Consent typically means uninstalling the application or clear the TokenCache
Web Server Applications
bull Consent is stored in Azure Active Directory and not part of the Refresh Token
bull User can Revoke Consent at httpsaccountactivedirectorywindowsazurecom
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Authentication flow for Microsoft Graph
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOApplication registration and Starter project
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph API SDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph API SDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Getting started
httpswwwnugetorgpackagesMicrosoftGraph
140
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
SDK Query Model
bull Implements the ODATA behaviour and signatures as methods on the Request
Select() -gt $select
Filter() -gt $filter
OrderBy() -gt $orderby
Expand() -gt $expand
bull Provides paging capabilitiesbull Through NextPageRequest property on query resultscollections
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Working with resources
bull Graph SDK implements support for managing the Graph ResourcesGetAsync() -gt GET
AddAsync()-gt POST
UpdateAsync()-gt PATCH
PutAsync() -gt PUT
DeleteAsync() -gt DELETE
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph ASPNET SDK Example
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Create Group
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMODemo Microsoft Graph SDK for NET
httpsgithubcomSharePointPnPtreemasterSamplesMicrosoftGraphOffice365DotNetSDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Supported resources for Extensions
bull When using personal accounts (MSAL) you are limited to the event post group message contact and user resources
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
bull Add Custom Properties to Microsoft Graph Resources without requiring an external data source
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Type of Extensions
Open Extensions (aka Office 365 data extensions)
bull Untyped data that is scoped to the tenant
bull extensionName property should be unique within the tenant
bull Naming convention ComCapgeminiManagedEvent for the CapgeminiComtenant
Schema Extensions
bull Strongly typed data ndash define your own schema extension definition
bull Schema extension definition should have a unique name for its idbull By using the an existing vanity domain that is verified with your tenant (eg capgeminicom)
for capgemini_ManagedEventbull By using a name without a domain eg ManagedEvent The id will be based on the schema
name and prefixed with 8 random characters Eg extabcdefgh_ManagedEvent
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Schema Extensions LifecycleState LifeCycle state behaviour
InDevelopment bull Initial state ndash the owner app is still developing the schema extension bull The owner app can move the extension from InDevelopment to the Available state
Available bull The schema extension is available for use by all apps in any tenant bull Only the owner app can update the extension definition with additive changesbull The owner app can move the schema extension from Available to the Deprecated state
Deprecated bull The schema extension definition can no longer be read or modified bull Apps can however still read update or delete existing extension property valuesbull The owner app can move the schema extension from Deprecated back to the Available
state ()
() Fixed Make sure you have the latest bits
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOExtensions
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
bull Microsoft Graph REST API clients can subscribe to changes on the following resourcesbull Messagesbull Eventsbull Contactsbull Group conversationsbull Drive root items
bull After Microsoft Graph accepts the subscription request it pushes notifications to the URL specified in the subscription
bull The app then takes action according to its business logic For example it fetches more data updates cache and views etc
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
3 NOTIFY2 VALIDATE
subscriptions
notifications
1 CREATE
Outlook Apps
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
What has become GA over the last year
bull Azure Active Directory
bull Outlook mail Calendar and Contacts
bull Office 365 Groups and Conversations
bull OneDrive Drives and Files
bull WebHooks for Outlook Groups User OneDrive data
bull SharePoint amp LiveID profiles
bull Office 365 Reports
bull Extensions
bull Excel API
bull FindMeetingTime
bull Planner
bull Extensions
bull Delta Queries
bull Sites (SharePoint)
httpsdevelopermicrosoftcomen-usgraphdocsconceptschangelog
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Authentication
ADAL v10bull Authentication library to deal with Azure
Active Directory authentication flow
bull Support for Work and School accounts via Azure Active Directory
bull Full set of SDKs available
bull Supports Office 365 Services
bull User gives consent for all permissions at first start
MSAL v20bull Unified authentication library to deal with
authentication across the different identity platforms provided by Microsoft
bull Support for Work School and Personal accounts ndash No Azure requirement
bull User gives consent when the applications needs it
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Revoke User Consent
Native Application
bull Consent is part of the Refresh Token and typically stored on the device
bull Revoke Consent typically means uninstalling the application or clear the TokenCache
Web Server Applications
bull Consent is stored in Azure Active Directory and not part of the Refresh Token
bull User can Revoke Consent at httpsaccountactivedirectorywindowsazurecom
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Authentication flow for Microsoft Graph
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOApplication registration and Starter project
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph API SDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph API SDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Getting started
httpswwwnugetorgpackagesMicrosoftGraph
140
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
SDK Query Model
bull Implements the ODATA behaviour and signatures as methods on the Request
Select() -gt $select
Filter() -gt $filter
OrderBy() -gt $orderby
Expand() -gt $expand
bull Provides paging capabilitiesbull Through NextPageRequest property on query resultscollections
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Working with resources
bull Graph SDK implements support for managing the Graph ResourcesGetAsync() -gt GET
AddAsync()-gt POST
UpdateAsync()-gt PATCH
PutAsync() -gt PUT
DeleteAsync() -gt DELETE
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph ASPNET SDK Example
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Create Group
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMODemo Microsoft Graph SDK for NET
httpsgithubcomSharePointPnPtreemasterSamplesMicrosoftGraphOffice365DotNetSDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Supported resources for Extensions
bull When using personal accounts (MSAL) you are limited to the event post group message contact and user resources
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
bull Add Custom Properties to Microsoft Graph Resources without requiring an external data source
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Type of Extensions
Open Extensions (aka Office 365 data extensions)
bull Untyped data that is scoped to the tenant
bull extensionName property should be unique within the tenant
bull Naming convention ComCapgeminiManagedEvent for the CapgeminiComtenant
Schema Extensions
bull Strongly typed data ndash define your own schema extension definition
bull Schema extension definition should have a unique name for its idbull By using the an existing vanity domain that is verified with your tenant (eg capgeminicom)
for capgemini_ManagedEventbull By using a name without a domain eg ManagedEvent The id will be based on the schema
name and prefixed with 8 random characters Eg extabcdefgh_ManagedEvent
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Schema Extensions LifecycleState LifeCycle state behaviour
InDevelopment bull Initial state ndash the owner app is still developing the schema extension bull The owner app can move the extension from InDevelopment to the Available state
Available bull The schema extension is available for use by all apps in any tenant bull Only the owner app can update the extension definition with additive changesbull The owner app can move the schema extension from Available to the Deprecated state
Deprecated bull The schema extension definition can no longer be read or modified bull Apps can however still read update or delete existing extension property valuesbull The owner app can move the schema extension from Deprecated back to the Available
state ()
() Fixed Make sure you have the latest bits
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOExtensions
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
bull Microsoft Graph REST API clients can subscribe to changes on the following resourcesbull Messagesbull Eventsbull Contactsbull Group conversationsbull Drive root items
bull After Microsoft Graph accepts the subscription request it pushes notifications to the URL specified in the subscription
bull The app then takes action according to its business logic For example it fetches more data updates cache and views etc
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
3 NOTIFY2 VALIDATE
subscriptions
notifications
1 CREATE
Outlook Apps
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Authentication
ADAL v10bull Authentication library to deal with Azure
Active Directory authentication flow
bull Support for Work and School accounts via Azure Active Directory
bull Full set of SDKs available
bull Supports Office 365 Services
bull User gives consent for all permissions at first start
MSAL v20bull Unified authentication library to deal with
authentication across the different identity platforms provided by Microsoft
bull Support for Work School and Personal accounts ndash No Azure requirement
bull User gives consent when the applications needs it
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Revoke User Consent
Native Application
bull Consent is part of the Refresh Token and typically stored on the device
bull Revoke Consent typically means uninstalling the application or clear the TokenCache
Web Server Applications
bull Consent is stored in Azure Active Directory and not part of the Refresh Token
bull User can Revoke Consent at httpsaccountactivedirectorywindowsazurecom
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Authentication flow for Microsoft Graph
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOApplication registration and Starter project
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph API SDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph API SDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Getting started
httpswwwnugetorgpackagesMicrosoftGraph
140
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
SDK Query Model
bull Implements the ODATA behaviour and signatures as methods on the Request
Select() -gt $select
Filter() -gt $filter
OrderBy() -gt $orderby
Expand() -gt $expand
bull Provides paging capabilitiesbull Through NextPageRequest property on query resultscollections
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Working with resources
bull Graph SDK implements support for managing the Graph ResourcesGetAsync() -gt GET
AddAsync()-gt POST
UpdateAsync()-gt PATCH
PutAsync() -gt PUT
DeleteAsync() -gt DELETE
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph ASPNET SDK Example
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Create Group
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMODemo Microsoft Graph SDK for NET
httpsgithubcomSharePointPnPtreemasterSamplesMicrosoftGraphOffice365DotNetSDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Supported resources for Extensions
bull When using personal accounts (MSAL) you are limited to the event post group message contact and user resources
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
bull Add Custom Properties to Microsoft Graph Resources without requiring an external data source
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Type of Extensions
Open Extensions (aka Office 365 data extensions)
bull Untyped data that is scoped to the tenant
bull extensionName property should be unique within the tenant
bull Naming convention ComCapgeminiManagedEvent for the CapgeminiComtenant
Schema Extensions
bull Strongly typed data ndash define your own schema extension definition
bull Schema extension definition should have a unique name for its idbull By using the an existing vanity domain that is verified with your tenant (eg capgeminicom)
for capgemini_ManagedEventbull By using a name without a domain eg ManagedEvent The id will be based on the schema
name and prefixed with 8 random characters Eg extabcdefgh_ManagedEvent
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Schema Extensions LifecycleState LifeCycle state behaviour
InDevelopment bull Initial state ndash the owner app is still developing the schema extension bull The owner app can move the extension from InDevelopment to the Available state
Available bull The schema extension is available for use by all apps in any tenant bull Only the owner app can update the extension definition with additive changesbull The owner app can move the schema extension from Available to the Deprecated state
Deprecated bull The schema extension definition can no longer be read or modified bull Apps can however still read update or delete existing extension property valuesbull The owner app can move the schema extension from Deprecated back to the Available
state ()
() Fixed Make sure you have the latest bits
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOExtensions
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
bull Microsoft Graph REST API clients can subscribe to changes on the following resourcesbull Messagesbull Eventsbull Contactsbull Group conversationsbull Drive root items
bull After Microsoft Graph accepts the subscription request it pushes notifications to the URL specified in the subscription
bull The app then takes action according to its business logic For example it fetches more data updates cache and views etc
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
3 NOTIFY2 VALIDATE
subscriptions
notifications
1 CREATE
Outlook Apps
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Revoke User Consent
Native Application
bull Consent is part of the Refresh Token and typically stored on the device
bull Revoke Consent typically means uninstalling the application or clear the TokenCache
Web Server Applications
bull Consent is stored in Azure Active Directory and not part of the Refresh Token
bull User can Revoke Consent at httpsaccountactivedirectorywindowsazurecom
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Authentication flow for Microsoft Graph
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOApplication registration and Starter project
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph API SDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph API SDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Getting started
httpswwwnugetorgpackagesMicrosoftGraph
140
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
SDK Query Model
bull Implements the ODATA behaviour and signatures as methods on the Request
Select() -gt $select
Filter() -gt $filter
OrderBy() -gt $orderby
Expand() -gt $expand
bull Provides paging capabilitiesbull Through NextPageRequest property on query resultscollections
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Working with resources
bull Graph SDK implements support for managing the Graph ResourcesGetAsync() -gt GET
AddAsync()-gt POST
UpdateAsync()-gt PATCH
PutAsync() -gt PUT
DeleteAsync() -gt DELETE
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph ASPNET SDK Example
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Create Group
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMODemo Microsoft Graph SDK for NET
httpsgithubcomSharePointPnPtreemasterSamplesMicrosoftGraphOffice365DotNetSDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Supported resources for Extensions
bull When using personal accounts (MSAL) you are limited to the event post group message contact and user resources
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
bull Add Custom Properties to Microsoft Graph Resources without requiring an external data source
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Type of Extensions
Open Extensions (aka Office 365 data extensions)
bull Untyped data that is scoped to the tenant
bull extensionName property should be unique within the tenant
bull Naming convention ComCapgeminiManagedEvent for the CapgeminiComtenant
Schema Extensions
bull Strongly typed data ndash define your own schema extension definition
bull Schema extension definition should have a unique name for its idbull By using the an existing vanity domain that is verified with your tenant (eg capgeminicom)
for capgemini_ManagedEventbull By using a name without a domain eg ManagedEvent The id will be based on the schema
name and prefixed with 8 random characters Eg extabcdefgh_ManagedEvent
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Schema Extensions LifecycleState LifeCycle state behaviour
InDevelopment bull Initial state ndash the owner app is still developing the schema extension bull The owner app can move the extension from InDevelopment to the Available state
Available bull The schema extension is available for use by all apps in any tenant bull Only the owner app can update the extension definition with additive changesbull The owner app can move the schema extension from Available to the Deprecated state
Deprecated bull The schema extension definition can no longer be read or modified bull Apps can however still read update or delete existing extension property valuesbull The owner app can move the schema extension from Deprecated back to the Available
state ()
() Fixed Make sure you have the latest bits
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOExtensions
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
bull Microsoft Graph REST API clients can subscribe to changes on the following resourcesbull Messagesbull Eventsbull Contactsbull Group conversationsbull Drive root items
bull After Microsoft Graph accepts the subscription request it pushes notifications to the URL specified in the subscription
bull The app then takes action according to its business logic For example it fetches more data updates cache and views etc
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
3 NOTIFY2 VALIDATE
subscriptions
notifications
1 CREATE
Outlook Apps
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Authentication flow for Microsoft Graph
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOApplication registration and Starter project
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph API SDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph API SDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Getting started
httpswwwnugetorgpackagesMicrosoftGraph
140
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
SDK Query Model
bull Implements the ODATA behaviour and signatures as methods on the Request
Select() -gt $select
Filter() -gt $filter
OrderBy() -gt $orderby
Expand() -gt $expand
bull Provides paging capabilitiesbull Through NextPageRequest property on query resultscollections
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Working with resources
bull Graph SDK implements support for managing the Graph ResourcesGetAsync() -gt GET
AddAsync()-gt POST
UpdateAsync()-gt PATCH
PutAsync() -gt PUT
DeleteAsync() -gt DELETE
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph ASPNET SDK Example
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Create Group
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMODemo Microsoft Graph SDK for NET
httpsgithubcomSharePointPnPtreemasterSamplesMicrosoftGraphOffice365DotNetSDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Supported resources for Extensions
bull When using personal accounts (MSAL) you are limited to the event post group message contact and user resources
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
bull Add Custom Properties to Microsoft Graph Resources without requiring an external data source
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Type of Extensions
Open Extensions (aka Office 365 data extensions)
bull Untyped data that is scoped to the tenant
bull extensionName property should be unique within the tenant
bull Naming convention ComCapgeminiManagedEvent for the CapgeminiComtenant
Schema Extensions
bull Strongly typed data ndash define your own schema extension definition
bull Schema extension definition should have a unique name for its idbull By using the an existing vanity domain that is verified with your tenant (eg capgeminicom)
for capgemini_ManagedEventbull By using a name without a domain eg ManagedEvent The id will be based on the schema
name and prefixed with 8 random characters Eg extabcdefgh_ManagedEvent
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Schema Extensions LifecycleState LifeCycle state behaviour
InDevelopment bull Initial state ndash the owner app is still developing the schema extension bull The owner app can move the extension from InDevelopment to the Available state
Available bull The schema extension is available for use by all apps in any tenant bull Only the owner app can update the extension definition with additive changesbull The owner app can move the schema extension from Available to the Deprecated state
Deprecated bull The schema extension definition can no longer be read or modified bull Apps can however still read update or delete existing extension property valuesbull The owner app can move the schema extension from Deprecated back to the Available
state ()
() Fixed Make sure you have the latest bits
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOExtensions
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
bull Microsoft Graph REST API clients can subscribe to changes on the following resourcesbull Messagesbull Eventsbull Contactsbull Group conversationsbull Drive root items
bull After Microsoft Graph accepts the subscription request it pushes notifications to the URL specified in the subscription
bull The app then takes action according to its business logic For example it fetches more data updates cache and views etc
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
3 NOTIFY2 VALIDATE
subscriptions
notifications
1 CREATE
Outlook Apps
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOApplication registration and Starter project
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph API SDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph API SDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Getting started
httpswwwnugetorgpackagesMicrosoftGraph
140
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
SDK Query Model
bull Implements the ODATA behaviour and signatures as methods on the Request
Select() -gt $select
Filter() -gt $filter
OrderBy() -gt $orderby
Expand() -gt $expand
bull Provides paging capabilitiesbull Through NextPageRequest property on query resultscollections
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Working with resources
bull Graph SDK implements support for managing the Graph ResourcesGetAsync() -gt GET
AddAsync()-gt POST
UpdateAsync()-gt PATCH
PutAsync() -gt PUT
DeleteAsync() -gt DELETE
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph ASPNET SDK Example
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Create Group
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMODemo Microsoft Graph SDK for NET
httpsgithubcomSharePointPnPtreemasterSamplesMicrosoftGraphOffice365DotNetSDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Supported resources for Extensions
bull When using personal accounts (MSAL) you are limited to the event post group message contact and user resources
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
bull Add Custom Properties to Microsoft Graph Resources without requiring an external data source
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Type of Extensions
Open Extensions (aka Office 365 data extensions)
bull Untyped data that is scoped to the tenant
bull extensionName property should be unique within the tenant
bull Naming convention ComCapgeminiManagedEvent for the CapgeminiComtenant
Schema Extensions
bull Strongly typed data ndash define your own schema extension definition
bull Schema extension definition should have a unique name for its idbull By using the an existing vanity domain that is verified with your tenant (eg capgeminicom)
for capgemini_ManagedEventbull By using a name without a domain eg ManagedEvent The id will be based on the schema
name and prefixed with 8 random characters Eg extabcdefgh_ManagedEvent
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Schema Extensions LifecycleState LifeCycle state behaviour
InDevelopment bull Initial state ndash the owner app is still developing the schema extension bull The owner app can move the extension from InDevelopment to the Available state
Available bull The schema extension is available for use by all apps in any tenant bull Only the owner app can update the extension definition with additive changesbull The owner app can move the schema extension from Available to the Deprecated state
Deprecated bull The schema extension definition can no longer be read or modified bull Apps can however still read update or delete existing extension property valuesbull The owner app can move the schema extension from Deprecated back to the Available
state ()
() Fixed Make sure you have the latest bits
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOExtensions
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
bull Microsoft Graph REST API clients can subscribe to changes on the following resourcesbull Messagesbull Eventsbull Contactsbull Group conversationsbull Drive root items
bull After Microsoft Graph accepts the subscription request it pushes notifications to the URL specified in the subscription
bull The app then takes action according to its business logic For example it fetches more data updates cache and views etc
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
3 NOTIFY2 VALIDATE
subscriptions
notifications
1 CREATE
Outlook Apps
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph API SDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph API SDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Getting started
httpswwwnugetorgpackagesMicrosoftGraph
140
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
SDK Query Model
bull Implements the ODATA behaviour and signatures as methods on the Request
Select() -gt $select
Filter() -gt $filter
OrderBy() -gt $orderby
Expand() -gt $expand
bull Provides paging capabilitiesbull Through NextPageRequest property on query resultscollections
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Working with resources
bull Graph SDK implements support for managing the Graph ResourcesGetAsync() -gt GET
AddAsync()-gt POST
UpdateAsync()-gt PATCH
PutAsync() -gt PUT
DeleteAsync() -gt DELETE
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph ASPNET SDK Example
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Create Group
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMODemo Microsoft Graph SDK for NET
httpsgithubcomSharePointPnPtreemasterSamplesMicrosoftGraphOffice365DotNetSDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Supported resources for Extensions
bull When using personal accounts (MSAL) you are limited to the event post group message contact and user resources
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
bull Add Custom Properties to Microsoft Graph Resources without requiring an external data source
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Type of Extensions
Open Extensions (aka Office 365 data extensions)
bull Untyped data that is scoped to the tenant
bull extensionName property should be unique within the tenant
bull Naming convention ComCapgeminiManagedEvent for the CapgeminiComtenant
Schema Extensions
bull Strongly typed data ndash define your own schema extension definition
bull Schema extension definition should have a unique name for its idbull By using the an existing vanity domain that is verified with your tenant (eg capgeminicom)
for capgemini_ManagedEventbull By using a name without a domain eg ManagedEvent The id will be based on the schema
name and prefixed with 8 random characters Eg extabcdefgh_ManagedEvent
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Schema Extensions LifecycleState LifeCycle state behaviour
InDevelopment bull Initial state ndash the owner app is still developing the schema extension bull The owner app can move the extension from InDevelopment to the Available state
Available bull The schema extension is available for use by all apps in any tenant bull Only the owner app can update the extension definition with additive changesbull The owner app can move the schema extension from Available to the Deprecated state
Deprecated bull The schema extension definition can no longer be read or modified bull Apps can however still read update or delete existing extension property valuesbull The owner app can move the schema extension from Deprecated back to the Available
state ()
() Fixed Make sure you have the latest bits
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOExtensions
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
bull Microsoft Graph REST API clients can subscribe to changes on the following resourcesbull Messagesbull Eventsbull Contactsbull Group conversationsbull Drive root items
bull After Microsoft Graph accepts the subscription request it pushes notifications to the URL specified in the subscription
bull The app then takes action according to its business logic For example it fetches more data updates cache and views etc
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
3 NOTIFY2 VALIDATE
subscriptions
notifications
1 CREATE
Outlook Apps
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph API SDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Getting started
httpswwwnugetorgpackagesMicrosoftGraph
140
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
SDK Query Model
bull Implements the ODATA behaviour and signatures as methods on the Request
Select() -gt $select
Filter() -gt $filter
OrderBy() -gt $orderby
Expand() -gt $expand
bull Provides paging capabilitiesbull Through NextPageRequest property on query resultscollections
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Working with resources
bull Graph SDK implements support for managing the Graph ResourcesGetAsync() -gt GET
AddAsync()-gt POST
UpdateAsync()-gt PATCH
PutAsync() -gt PUT
DeleteAsync() -gt DELETE
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph ASPNET SDK Example
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Create Group
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMODemo Microsoft Graph SDK for NET
httpsgithubcomSharePointPnPtreemasterSamplesMicrosoftGraphOffice365DotNetSDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Supported resources for Extensions
bull When using personal accounts (MSAL) you are limited to the event post group message contact and user resources
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
bull Add Custom Properties to Microsoft Graph Resources without requiring an external data source
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Type of Extensions
Open Extensions (aka Office 365 data extensions)
bull Untyped data that is scoped to the tenant
bull extensionName property should be unique within the tenant
bull Naming convention ComCapgeminiManagedEvent for the CapgeminiComtenant
Schema Extensions
bull Strongly typed data ndash define your own schema extension definition
bull Schema extension definition should have a unique name for its idbull By using the an existing vanity domain that is verified with your tenant (eg capgeminicom)
for capgemini_ManagedEventbull By using a name without a domain eg ManagedEvent The id will be based on the schema
name and prefixed with 8 random characters Eg extabcdefgh_ManagedEvent
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Schema Extensions LifecycleState LifeCycle state behaviour
InDevelopment bull Initial state ndash the owner app is still developing the schema extension bull The owner app can move the extension from InDevelopment to the Available state
Available bull The schema extension is available for use by all apps in any tenant bull Only the owner app can update the extension definition with additive changesbull The owner app can move the schema extension from Available to the Deprecated state
Deprecated bull The schema extension definition can no longer be read or modified bull Apps can however still read update or delete existing extension property valuesbull The owner app can move the schema extension from Deprecated back to the Available
state ()
() Fixed Make sure you have the latest bits
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOExtensions
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
bull Microsoft Graph REST API clients can subscribe to changes on the following resourcesbull Messagesbull Eventsbull Contactsbull Group conversationsbull Drive root items
bull After Microsoft Graph accepts the subscription request it pushes notifications to the URL specified in the subscription
bull The app then takes action according to its business logic For example it fetches more data updates cache and views etc
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
3 NOTIFY2 VALIDATE
subscriptions
notifications
1 CREATE
Outlook Apps
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Getting started
httpswwwnugetorgpackagesMicrosoftGraph
140
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
SDK Query Model
bull Implements the ODATA behaviour and signatures as methods on the Request
Select() -gt $select
Filter() -gt $filter
OrderBy() -gt $orderby
Expand() -gt $expand
bull Provides paging capabilitiesbull Through NextPageRequest property on query resultscollections
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Working with resources
bull Graph SDK implements support for managing the Graph ResourcesGetAsync() -gt GET
AddAsync()-gt POST
UpdateAsync()-gt PATCH
PutAsync() -gt PUT
DeleteAsync() -gt DELETE
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph ASPNET SDK Example
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Create Group
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMODemo Microsoft Graph SDK for NET
httpsgithubcomSharePointPnPtreemasterSamplesMicrosoftGraphOffice365DotNetSDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Supported resources for Extensions
bull When using personal accounts (MSAL) you are limited to the event post group message contact and user resources
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
bull Add Custom Properties to Microsoft Graph Resources without requiring an external data source
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Type of Extensions
Open Extensions (aka Office 365 data extensions)
bull Untyped data that is scoped to the tenant
bull extensionName property should be unique within the tenant
bull Naming convention ComCapgeminiManagedEvent for the CapgeminiComtenant
Schema Extensions
bull Strongly typed data ndash define your own schema extension definition
bull Schema extension definition should have a unique name for its idbull By using the an existing vanity domain that is verified with your tenant (eg capgeminicom)
for capgemini_ManagedEventbull By using a name without a domain eg ManagedEvent The id will be based on the schema
name and prefixed with 8 random characters Eg extabcdefgh_ManagedEvent
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Schema Extensions LifecycleState LifeCycle state behaviour
InDevelopment bull Initial state ndash the owner app is still developing the schema extension bull The owner app can move the extension from InDevelopment to the Available state
Available bull The schema extension is available for use by all apps in any tenant bull Only the owner app can update the extension definition with additive changesbull The owner app can move the schema extension from Available to the Deprecated state
Deprecated bull The schema extension definition can no longer be read or modified bull Apps can however still read update or delete existing extension property valuesbull The owner app can move the schema extension from Deprecated back to the Available
state ()
() Fixed Make sure you have the latest bits
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOExtensions
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
bull Microsoft Graph REST API clients can subscribe to changes on the following resourcesbull Messagesbull Eventsbull Contactsbull Group conversationsbull Drive root items
bull After Microsoft Graph accepts the subscription request it pushes notifications to the URL specified in the subscription
bull The app then takes action according to its business logic For example it fetches more data updates cache and views etc
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
3 NOTIFY2 VALIDATE
subscriptions
notifications
1 CREATE
Outlook Apps
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
SDK Query Model
bull Implements the ODATA behaviour and signatures as methods on the Request
Select() -gt $select
Filter() -gt $filter
OrderBy() -gt $orderby
Expand() -gt $expand
bull Provides paging capabilitiesbull Through NextPageRequest property on query resultscollections
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Working with resources
bull Graph SDK implements support for managing the Graph ResourcesGetAsync() -gt GET
AddAsync()-gt POST
UpdateAsync()-gt PATCH
PutAsync() -gt PUT
DeleteAsync() -gt DELETE
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph ASPNET SDK Example
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Create Group
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMODemo Microsoft Graph SDK for NET
httpsgithubcomSharePointPnPtreemasterSamplesMicrosoftGraphOffice365DotNetSDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Supported resources for Extensions
bull When using personal accounts (MSAL) you are limited to the event post group message contact and user resources
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
bull Add Custom Properties to Microsoft Graph Resources without requiring an external data source
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Type of Extensions
Open Extensions (aka Office 365 data extensions)
bull Untyped data that is scoped to the tenant
bull extensionName property should be unique within the tenant
bull Naming convention ComCapgeminiManagedEvent for the CapgeminiComtenant
Schema Extensions
bull Strongly typed data ndash define your own schema extension definition
bull Schema extension definition should have a unique name for its idbull By using the an existing vanity domain that is verified with your tenant (eg capgeminicom)
for capgemini_ManagedEventbull By using a name without a domain eg ManagedEvent The id will be based on the schema
name and prefixed with 8 random characters Eg extabcdefgh_ManagedEvent
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Schema Extensions LifecycleState LifeCycle state behaviour
InDevelopment bull Initial state ndash the owner app is still developing the schema extension bull The owner app can move the extension from InDevelopment to the Available state
Available bull The schema extension is available for use by all apps in any tenant bull Only the owner app can update the extension definition with additive changesbull The owner app can move the schema extension from Available to the Deprecated state
Deprecated bull The schema extension definition can no longer be read or modified bull Apps can however still read update or delete existing extension property valuesbull The owner app can move the schema extension from Deprecated back to the Available
state ()
() Fixed Make sure you have the latest bits
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOExtensions
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
bull Microsoft Graph REST API clients can subscribe to changes on the following resourcesbull Messagesbull Eventsbull Contactsbull Group conversationsbull Drive root items
bull After Microsoft Graph accepts the subscription request it pushes notifications to the URL specified in the subscription
bull The app then takes action according to its business logic For example it fetches more data updates cache and views etc
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
3 NOTIFY2 VALIDATE
subscriptions
notifications
1 CREATE
Outlook Apps
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Working with resources
bull Graph SDK implements support for managing the Graph ResourcesGetAsync() -gt GET
AddAsync()-gt POST
UpdateAsync()-gt PATCH
PutAsync() -gt PUT
DeleteAsync() -gt DELETE
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph ASPNET SDK Example
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Create Group
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMODemo Microsoft Graph SDK for NET
httpsgithubcomSharePointPnPtreemasterSamplesMicrosoftGraphOffice365DotNetSDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Supported resources for Extensions
bull When using personal accounts (MSAL) you are limited to the event post group message contact and user resources
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
bull Add Custom Properties to Microsoft Graph Resources without requiring an external data source
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Type of Extensions
Open Extensions (aka Office 365 data extensions)
bull Untyped data that is scoped to the tenant
bull extensionName property should be unique within the tenant
bull Naming convention ComCapgeminiManagedEvent for the CapgeminiComtenant
Schema Extensions
bull Strongly typed data ndash define your own schema extension definition
bull Schema extension definition should have a unique name for its idbull By using the an existing vanity domain that is verified with your tenant (eg capgeminicom)
for capgemini_ManagedEventbull By using a name without a domain eg ManagedEvent The id will be based on the schema
name and prefixed with 8 random characters Eg extabcdefgh_ManagedEvent
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Schema Extensions LifecycleState LifeCycle state behaviour
InDevelopment bull Initial state ndash the owner app is still developing the schema extension bull The owner app can move the extension from InDevelopment to the Available state
Available bull The schema extension is available for use by all apps in any tenant bull Only the owner app can update the extension definition with additive changesbull The owner app can move the schema extension from Available to the Deprecated state
Deprecated bull The schema extension definition can no longer be read or modified bull Apps can however still read update or delete existing extension property valuesbull The owner app can move the schema extension from Deprecated back to the Available
state ()
() Fixed Make sure you have the latest bits
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOExtensions
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
bull Microsoft Graph REST API clients can subscribe to changes on the following resourcesbull Messagesbull Eventsbull Contactsbull Group conversationsbull Drive root items
bull After Microsoft Graph accepts the subscription request it pushes notifications to the URL specified in the subscription
bull The app then takes action according to its business logic For example it fetches more data updates cache and views etc
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
3 NOTIFY2 VALIDATE
subscriptions
notifications
1 CREATE
Outlook Apps
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Microsoft Graph ASPNET SDK Example
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Create Group
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMODemo Microsoft Graph SDK for NET
httpsgithubcomSharePointPnPtreemasterSamplesMicrosoftGraphOffice365DotNetSDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Supported resources for Extensions
bull When using personal accounts (MSAL) you are limited to the event post group message contact and user resources
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
bull Add Custom Properties to Microsoft Graph Resources without requiring an external data source
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Type of Extensions
Open Extensions (aka Office 365 data extensions)
bull Untyped data that is scoped to the tenant
bull extensionName property should be unique within the tenant
bull Naming convention ComCapgeminiManagedEvent for the CapgeminiComtenant
Schema Extensions
bull Strongly typed data ndash define your own schema extension definition
bull Schema extension definition should have a unique name for its idbull By using the an existing vanity domain that is verified with your tenant (eg capgeminicom)
for capgemini_ManagedEventbull By using a name without a domain eg ManagedEvent The id will be based on the schema
name and prefixed with 8 random characters Eg extabcdefgh_ManagedEvent
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Schema Extensions LifecycleState LifeCycle state behaviour
InDevelopment bull Initial state ndash the owner app is still developing the schema extension bull The owner app can move the extension from InDevelopment to the Available state
Available bull The schema extension is available for use by all apps in any tenant bull Only the owner app can update the extension definition with additive changesbull The owner app can move the schema extension from Available to the Deprecated state
Deprecated bull The schema extension definition can no longer be read or modified bull Apps can however still read update or delete existing extension property valuesbull The owner app can move the schema extension from Deprecated back to the Available
state ()
() Fixed Make sure you have the latest bits
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOExtensions
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
bull Microsoft Graph REST API clients can subscribe to changes on the following resourcesbull Messagesbull Eventsbull Contactsbull Group conversationsbull Drive root items
bull After Microsoft Graph accepts the subscription request it pushes notifications to the URL specified in the subscription
bull The app then takes action according to its business logic For example it fetches more data updates cache and views etc
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
3 NOTIFY2 VALIDATE
subscriptions
notifications
1 CREATE
Outlook Apps
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Create Group
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMODemo Microsoft Graph SDK for NET
httpsgithubcomSharePointPnPtreemasterSamplesMicrosoftGraphOffice365DotNetSDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Supported resources for Extensions
bull When using personal accounts (MSAL) you are limited to the event post group message contact and user resources
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
bull Add Custom Properties to Microsoft Graph Resources without requiring an external data source
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Type of Extensions
Open Extensions (aka Office 365 data extensions)
bull Untyped data that is scoped to the tenant
bull extensionName property should be unique within the tenant
bull Naming convention ComCapgeminiManagedEvent for the CapgeminiComtenant
Schema Extensions
bull Strongly typed data ndash define your own schema extension definition
bull Schema extension definition should have a unique name for its idbull By using the an existing vanity domain that is verified with your tenant (eg capgeminicom)
for capgemini_ManagedEventbull By using a name without a domain eg ManagedEvent The id will be based on the schema
name and prefixed with 8 random characters Eg extabcdefgh_ManagedEvent
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Schema Extensions LifecycleState LifeCycle state behaviour
InDevelopment bull Initial state ndash the owner app is still developing the schema extension bull The owner app can move the extension from InDevelopment to the Available state
Available bull The schema extension is available for use by all apps in any tenant bull Only the owner app can update the extension definition with additive changesbull The owner app can move the schema extension from Available to the Deprecated state
Deprecated bull The schema extension definition can no longer be read or modified bull Apps can however still read update or delete existing extension property valuesbull The owner app can move the schema extension from Deprecated back to the Available
state ()
() Fixed Make sure you have the latest bits
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOExtensions
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
bull Microsoft Graph REST API clients can subscribe to changes on the following resourcesbull Messagesbull Eventsbull Contactsbull Group conversationsbull Drive root items
bull After Microsoft Graph accepts the subscription request it pushes notifications to the URL specified in the subscription
bull The app then takes action according to its business logic For example it fetches more data updates cache and views etc
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
3 NOTIFY2 VALIDATE
subscriptions
notifications
1 CREATE
Outlook Apps
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMODemo Microsoft Graph SDK for NET
httpsgithubcomSharePointPnPtreemasterSamplesMicrosoftGraphOffice365DotNetSDK
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Supported resources for Extensions
bull When using personal accounts (MSAL) you are limited to the event post group message contact and user resources
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
bull Add Custom Properties to Microsoft Graph Resources without requiring an external data source
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Type of Extensions
Open Extensions (aka Office 365 data extensions)
bull Untyped data that is scoped to the tenant
bull extensionName property should be unique within the tenant
bull Naming convention ComCapgeminiManagedEvent for the CapgeminiComtenant
Schema Extensions
bull Strongly typed data ndash define your own schema extension definition
bull Schema extension definition should have a unique name for its idbull By using the an existing vanity domain that is verified with your tenant (eg capgeminicom)
for capgemini_ManagedEventbull By using a name without a domain eg ManagedEvent The id will be based on the schema
name and prefixed with 8 random characters Eg extabcdefgh_ManagedEvent
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Schema Extensions LifecycleState LifeCycle state behaviour
InDevelopment bull Initial state ndash the owner app is still developing the schema extension bull The owner app can move the extension from InDevelopment to the Available state
Available bull The schema extension is available for use by all apps in any tenant bull Only the owner app can update the extension definition with additive changesbull The owner app can move the schema extension from Available to the Deprecated state
Deprecated bull The schema extension definition can no longer be read or modified bull Apps can however still read update or delete existing extension property valuesbull The owner app can move the schema extension from Deprecated back to the Available
state ()
() Fixed Make sure you have the latest bits
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOExtensions
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
bull Microsoft Graph REST API clients can subscribe to changes on the following resourcesbull Messagesbull Eventsbull Contactsbull Group conversationsbull Drive root items
bull After Microsoft Graph accepts the subscription request it pushes notifications to the URL specified in the subscription
bull The app then takes action according to its business logic For example it fetches more data updates cache and views etc
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
3 NOTIFY2 VALIDATE
subscriptions
notifications
1 CREATE
Outlook Apps
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Supported resources for Extensions
bull When using personal accounts (MSAL) you are limited to the event post group message contact and user resources
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
bull Add Custom Properties to Microsoft Graph Resources without requiring an external data source
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Type of Extensions
Open Extensions (aka Office 365 data extensions)
bull Untyped data that is scoped to the tenant
bull extensionName property should be unique within the tenant
bull Naming convention ComCapgeminiManagedEvent for the CapgeminiComtenant
Schema Extensions
bull Strongly typed data ndash define your own schema extension definition
bull Schema extension definition should have a unique name for its idbull By using the an existing vanity domain that is verified with your tenant (eg capgeminicom)
for capgemini_ManagedEventbull By using a name without a domain eg ManagedEvent The id will be based on the schema
name and prefixed with 8 random characters Eg extabcdefgh_ManagedEvent
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Schema Extensions LifecycleState LifeCycle state behaviour
InDevelopment bull Initial state ndash the owner app is still developing the schema extension bull The owner app can move the extension from InDevelopment to the Available state
Available bull The schema extension is available for use by all apps in any tenant bull Only the owner app can update the extension definition with additive changesbull The owner app can move the schema extension from Available to the Deprecated state
Deprecated bull The schema extension definition can no longer be read or modified bull Apps can however still read update or delete existing extension property valuesbull The owner app can move the schema extension from Deprecated back to the Available
state ()
() Fixed Make sure you have the latest bits
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOExtensions
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
bull Microsoft Graph REST API clients can subscribe to changes on the following resourcesbull Messagesbull Eventsbull Contactsbull Group conversationsbull Drive root items
bull After Microsoft Graph accepts the subscription request it pushes notifications to the URL specified in the subscription
bull The app then takes action according to its business logic For example it fetches more data updates cache and views etc
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
3 NOTIFY2 VALIDATE
subscriptions
notifications
1 CREATE
Outlook Apps
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Supported resources for Extensions
bull When using personal accounts (MSAL) you are limited to the event post group message contact and user resources
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
bull Add Custom Properties to Microsoft Graph Resources without requiring an external data source
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Type of Extensions
Open Extensions (aka Office 365 data extensions)
bull Untyped data that is scoped to the tenant
bull extensionName property should be unique within the tenant
bull Naming convention ComCapgeminiManagedEvent for the CapgeminiComtenant
Schema Extensions
bull Strongly typed data ndash define your own schema extension definition
bull Schema extension definition should have a unique name for its idbull By using the an existing vanity domain that is verified with your tenant (eg capgeminicom)
for capgemini_ManagedEventbull By using a name without a domain eg ManagedEvent The id will be based on the schema
name and prefixed with 8 random characters Eg extabcdefgh_ManagedEvent
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Schema Extensions LifecycleState LifeCycle state behaviour
InDevelopment bull Initial state ndash the owner app is still developing the schema extension bull The owner app can move the extension from InDevelopment to the Available state
Available bull The schema extension is available for use by all apps in any tenant bull Only the owner app can update the extension definition with additive changesbull The owner app can move the schema extension from Available to the Deprecated state
Deprecated bull The schema extension definition can no longer be read or modified bull Apps can however still read update or delete existing extension property valuesbull The owner app can move the schema extension from Deprecated back to the Available
state ()
() Fixed Make sure you have the latest bits
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOExtensions
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
bull Microsoft Graph REST API clients can subscribe to changes on the following resourcesbull Messagesbull Eventsbull Contactsbull Group conversationsbull Drive root items
bull After Microsoft Graph accepts the subscription request it pushes notifications to the URL specified in the subscription
bull The app then takes action according to its business logic For example it fetches more data updates cache and views etc
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
3 NOTIFY2 VALIDATE
subscriptions
notifications
1 CREATE
Outlook Apps
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Extensions
bull Add Custom Properties to Microsoft Graph Resources without requiring an external data source
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Type of Extensions
Open Extensions (aka Office 365 data extensions)
bull Untyped data that is scoped to the tenant
bull extensionName property should be unique within the tenant
bull Naming convention ComCapgeminiManagedEvent for the CapgeminiComtenant
Schema Extensions
bull Strongly typed data ndash define your own schema extension definition
bull Schema extension definition should have a unique name for its idbull By using the an existing vanity domain that is verified with your tenant (eg capgeminicom)
for capgemini_ManagedEventbull By using a name without a domain eg ManagedEvent The id will be based on the schema
name and prefixed with 8 random characters Eg extabcdefgh_ManagedEvent
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Schema Extensions LifecycleState LifeCycle state behaviour
InDevelopment bull Initial state ndash the owner app is still developing the schema extension bull The owner app can move the extension from InDevelopment to the Available state
Available bull The schema extension is available for use by all apps in any tenant bull Only the owner app can update the extension definition with additive changesbull The owner app can move the schema extension from Available to the Deprecated state
Deprecated bull The schema extension definition can no longer be read or modified bull Apps can however still read update or delete existing extension property valuesbull The owner app can move the schema extension from Deprecated back to the Available
state ()
() Fixed Make sure you have the latest bits
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOExtensions
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
bull Microsoft Graph REST API clients can subscribe to changes on the following resourcesbull Messagesbull Eventsbull Contactsbull Group conversationsbull Drive root items
bull After Microsoft Graph accepts the subscription request it pushes notifications to the URL specified in the subscription
bull The app then takes action according to its business logic For example it fetches more data updates cache and views etc
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
3 NOTIFY2 VALIDATE
subscriptions
notifications
1 CREATE
Outlook Apps
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Type of Extensions
Open Extensions (aka Office 365 data extensions)
bull Untyped data that is scoped to the tenant
bull extensionName property should be unique within the tenant
bull Naming convention ComCapgeminiManagedEvent for the CapgeminiComtenant
Schema Extensions
bull Strongly typed data ndash define your own schema extension definition
bull Schema extension definition should have a unique name for its idbull By using the an existing vanity domain that is verified with your tenant (eg capgeminicom)
for capgemini_ManagedEventbull By using a name without a domain eg ManagedEvent The id will be based on the schema
name and prefixed with 8 random characters Eg extabcdefgh_ManagedEvent
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Schema Extensions LifecycleState LifeCycle state behaviour
InDevelopment bull Initial state ndash the owner app is still developing the schema extension bull The owner app can move the extension from InDevelopment to the Available state
Available bull The schema extension is available for use by all apps in any tenant bull Only the owner app can update the extension definition with additive changesbull The owner app can move the schema extension from Available to the Deprecated state
Deprecated bull The schema extension definition can no longer be read or modified bull Apps can however still read update or delete existing extension property valuesbull The owner app can move the schema extension from Deprecated back to the Available
state ()
() Fixed Make sure you have the latest bits
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOExtensions
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
bull Microsoft Graph REST API clients can subscribe to changes on the following resourcesbull Messagesbull Eventsbull Contactsbull Group conversationsbull Drive root items
bull After Microsoft Graph accepts the subscription request it pushes notifications to the URL specified in the subscription
bull The app then takes action according to its business logic For example it fetches more data updates cache and views etc
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
3 NOTIFY2 VALIDATE
subscriptions
notifications
1 CREATE
Outlook Apps
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Schema Extensions LifecycleState LifeCycle state behaviour
InDevelopment bull Initial state ndash the owner app is still developing the schema extension bull The owner app can move the extension from InDevelopment to the Available state
Available bull The schema extension is available for use by all apps in any tenant bull Only the owner app can update the extension definition with additive changesbull The owner app can move the schema extension from Available to the Deprecated state
Deprecated bull The schema extension definition can no longer be read or modified bull Apps can however still read update or delete existing extension property valuesbull The owner app can move the schema extension from Deprecated back to the Available
state ()
() Fixed Make sure you have the latest bits
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOExtensions
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
bull Microsoft Graph REST API clients can subscribe to changes on the following resourcesbull Messagesbull Eventsbull Contactsbull Group conversationsbull Drive root items
bull After Microsoft Graph accepts the subscription request it pushes notifications to the URL specified in the subscription
bull The app then takes action according to its business logic For example it fetches more data updates cache and views etc
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
3 NOTIFY2 VALIDATE
subscriptions
notifications
1 CREATE
Outlook Apps
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
DEMOExtensions
MS Graph Group Data
Custom Extension Data
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
bull Microsoft Graph REST API clients can subscribe to changes on the following resourcesbull Messagesbull Eventsbull Contactsbull Group conversationsbull Drive root items
bull After Microsoft Graph accepts the subscription request it pushes notifications to the URL specified in the subscription
bull The app then takes action according to its business logic For example it fetches more data updates cache and views etc
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
3 NOTIFY2 VALIDATE
subscriptions
notifications
1 CREATE
Outlook Apps
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
bull Microsoft Graph REST API clients can subscribe to changes on the following resourcesbull Messagesbull Eventsbull Contactsbull Group conversationsbull Drive root items
bull After Microsoft Graph accepts the subscription request it pushes notifications to the URL specified in the subscription
bull The app then takes action according to its business logic For example it fetches more data updates cache and views etc
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
3 NOTIFY2 VALIDATE
subscriptions
notifications
1 CREATE
Outlook Apps
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Webhooks
bull Microsoft Graph REST API clients can subscribe to changes on the following resourcesbull Messagesbull Eventsbull Contactsbull Group conversationsbull Drive root items
bull After Microsoft Graph accepts the subscription request it pushes notifications to the URL specified in the subscription
bull The app then takes action according to its business logic For example it fetches more data updates cache and views etc
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
3 NOTIFY2 VALIDATE
subscriptions
notifications
1 CREATE
Outlook Apps
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
3 NOTIFY2 VALIDATE
subscriptions
notifications
1 CREATE
Outlook Apps
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Example Notification API
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
NGROKbull Webhook requires a public accessible endpoint for sending the notifications
bull During development your endpoint is running on httpslocalhost[portnumber]
bull Use NGROK tobull Create a public accessible endpoint
bull Tunnel the request from the public endpoint to httpslocalhost[portnumber]
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
SharePoint Saturday Belgium 2017 bull October 21 bull Brussels
Thank You
Feedbackhttpspsbebe
Feedbackhttpspsbebe
top related