SlideShare uma empresa Scribd logo
1 de 22
Webinar Series: Getting Started with SharePoint Framework
Getting Started with
SharePoint Framework
Webinar Series
Webinar Series: Getting Started with SharePoint Framework
Consume Graph APIs in
SharePoint Framework
Webinar Series: Getting Started with SharePoint Framework
Jenkins NS
Modern Workplace Solution Architect | Consultant
Founder & Director @
Microsoft Teams, Power Platform and SPFx Specialist
International Speaker | Blogger | Trainer
SPS Bangalore Organizer
aOS Ambassador
@jenkinsns
https://www.facebook.com/msteamsinfo
in/jenkinsns
jenkinsns@gmail.com
http://www.jenkinsblogs.com
jenkinsns
https://www.facebook.com/spfxinfo/
Webinar Series: Getting Started with SharePoint Framework
Agenda
 Overview of MS Graph
 Office 365 APIs
 What is Graph API?
 Consume Microsoft Graph
 AadHttpClient object
 MSGraphClient object
 API permissions requests
 Isolated web parts
 Demo
Webinar Series: Getting Started with SharePoint Framework
Office 356 APIs
Service Functionality Base URL
Azure AD Graph
User, Groups Application,
Devices
https://graph.windows.net
Exchange Online Mail, Calendar, Contacts https://outlook.office365.com/api
SharePoint Online
List, Libraries, Search, User
Profiles
https://tenant.sharepoint.com/_api
OneDrive for
Business
Files, Folders https://tenant-my.sharepoint.com/_api
OneNote Notebooks,Pages https://onenote.com/api
Yammer Conversations https://yammer.com/api
Stream Videos, Channels https://tenant.sharepoint.com/portals
Webinar Series: Getting Started with SharePoint Framework
STANDALONE
WEB, DEVICE,
AND SERVICE
APPS
EXTENSIONS
EMBEDDED CANVASES
Microsoft Graph External Data & Content
Conversation are Core to the Office 365 Platform
Webinar Series: Getting Started with SharePoint Framework
Overview of Microsoft Graph
Webinar Series: Getting Started with SharePoint Framework
What is Graph API?
Microsoft Graph exposes REST APIs and client libraries to access data on the
following Microsoft 365 services:
Office 365 services: Delve, Excel, Microsoft Bookings, Microsoft Teams, OneDrive,
OneNote, Outlook/Exchange, Planner, and SharePoint
Enterprise Mobility and Security services: Advanced Threat Analytics, Advanced Threat
Protection, Azure Active Directory, Identity Manager, and Intune
Windows 10 services: activities, devices, notifications
Dynamics 365 Business Central
Webinar Series: Getting Started with SharePoint Framework
SharePointGroups
Microsoft Graph
Access user, group and organizational data
One endpoint
One token
All users
Your App
https://graph.microsoft.com
#SPTechCon
Users Azure ADOutlook OneNote Planner Teams Excel Intune More…
Webinar Series: Getting Started with SharePoint Framework
Consume Microsoft Graph
You can now implement the below methods to consume the Microsoft Graph. You have two
options:
1. Use the AadHttpClient client object
2. Use the MSGraphClient client object
SharePoint Framework v1.6.0 onwards supported consuming the MS Graph APIs and custom
APIs.
Note:
 SharePoint Framework v1.4.1 beta onwards MS Graph APIs supported.
 You can consume the Microsoft Graph API with versions of SharePoint Framework earlier than v.1.4.1, either via the
native graphHttpClient, or via a manual ADAL JS implicit OAuth flow.
Webinar Series: Getting Started with SharePoint Framework
AadHttpClient
AadHttpClient
The AadHttpClient client object is useful for consuming any REST API. You can use it to consume Microsoft Graph or any other third-party
(or first-party) REST API and “AadHttpClient” is used to perform REST calls against an Azure AD Application, for example 3rd party WebAPI
hosted in Azure.
 For communicating with SharePoint, use the “SPHttpClient” class instead.
 For communicating SharePoint with Microsoft Graph, use the MSGraphClient class.
this.props.context.aadHttpClientFactory
.getClient('https://graph.microsoft.com’)
.then((client: AadHttpClient) => {
// Search for the users with givenName, surname, or displayName equal to the searchFor value
return client .get(
`https://graph.microsoft.com/v1.0/users?$select=displayName,mail,userPrincipalName&$filter=(givenName%20eq%20'${escape(this.state.searchFor)}')%20or%20(sur
name%20eq%20'${escape(this.state.searchFor)}')%20or%20(displayName%20eq%20'${escape(this.state.searchFor)}')`, AadHttpClient.configurations.v1
);
})
.then(response => {
return response.json();
})
Webinar Series: Getting Started with SharePoint Framework
MSGraphClient object
MSGraphClient
“MSGraphClient” is used to perform REST calls against Microsoft Graph. The Microsoft Graph JavaScript client library is a lightweight wrapper around
the Microsoft Graph API. This class allows developers to start making REST calls to MSGraph without needing to initialize the MSGraph client library.
 The MSGraphClient client object can consume the Microsoft Graph only. Internally it uses the AadHttpClient client object and supports the fluent
syntax of the Microsoft Graph SDK.
 Supported from SPFx v1.4.1 (Initial beta release of MSGraphClient class)
 MSGraphClient is a new HTTP client introduced in SharePoint Framework v1.6.0
this.props.context.msGraphClientFactory
.getClient()
.then((client: MSGraphClient): void => {
// From https://github.com/microsoftgraph/msgraph-sdk-javascript sample
client
.api("users")
.version("v1.0")
.select("displayName,mail,userPrincipalName")
.filter(`(givenName eq '${escape(this.state.searchFor)}') or (surname eq '${escape(this.state.searchFor)}') or (displayName eq
'${escape(this.state.searchFor)}')`)
.get((err, res) => {
if (err) { console.error(err); return; }
Webinar Series: Getting Started with SharePoint Framework
API Permissions
 To consume Microsoft Graph or any other third-party REST API, you need to explicitly declare the permission requirements from an
OAuth perspective in the manifest of your solution.
 In the SharePoint Framework v.1.4.1 or later, you can do that by configuring the webApiPermissionRequests property in the
package-solution.json under the config folder of the solution.
 Microsoft Graph permission names follow a simple pattern: resource.operation.constraint..Read grants permission to read the
profile of the signed-in user.
 User.ReadWrite grants permission to read and modify the profile of the signed-in user and
 Mail.Send grants permission to send mail on behalf of the signed-in user.
"webApiPermissionRequests": [
{
"resource": "Microsoft Graph",
"scope": "User.ReadBasic.All"
}
]
https://docs.microsoft.com/en-us/graph/api/resources/team?view=graph-rest-1.0
Webinar Series: Getting Started with SharePoint Framework
API access
Webinar Series: Getting Started with SharePoint Framework
Isolated Webparts
Webinar Series: Getting Started with SharePoint Framework
Why Isolated web parts?
 To allow your SharePoint Framework solutions to securely access APIs secured with Azure AD, you can use the API management to
specify which APIs can be accessed by scripts in your tenant and with which permissions.
 Using the SharePoint Framework, you can easily retrieve an access token for the specific API.
 While it significantly simplifies communicating with APIs secured with Azure AD, it allows all scripts, not just specific SharePoint
Framework solutions, to obtain an access token for any of the approved APIs. If one of the scripts you use in your tenant was
exploited, then it could access any of the approved APIs on behalf of the current user.
 SharePoint Framework v1.8.0 onwards has addressed this situation by introducing isolated web parts
 Isolated web parts introduce a new way to isolate access to APIs secured with Azure AD and ensure that only specific SharePoint
Framework web parts are allowed to obtain an access token for the particular API.
 If your web part requires permission to access any backend API or Graph, it is strongly recommended to have the web part isolated.
 We should protect the access token which is used behind the scenes and make sure that no other script on the page will piggy-back
the permissions we are using. Isolated web part is one step towards handling security concerns.
Webinar Series: Getting Started with SharePoint Framework
Isolated web parts
Webinar Series: Getting Started with SharePoint Framework
Isolated web parts benefits
 Web parts from an isolated SPFx package run on a unique domain, hosted within an iFrame - the permissions granted apply only to
code hosted on that domain.
 Regular SPFx web parts run on your *.sharepoint.com domain, the granted permissions do not apply there.
 And since any other SPFx isolated web parts run on a different unique domain, they don't apply there either.
 Essentially, the shared application principal for SPFx is not used – instead, an AAD app registration dedicated to this SPFx solution is
created and used for authentication.
 Note this scope isn’t the individual web part, but the containing solution package.
 This is fine however - if you have an untrusted source contributing code to the very same solution/codebase, then you probably
have bigger security and governance challenges to deal with quite frankly.
In the ‘config/package-solution.json’ file, set the isDomainIsolated property to true.
"isDomainIsolated": true
Webinar Series: Getting Started with SharePoint Framework
Demo
SharePoint Framework
https://github.com/jenkinsns/spfx-demo-webparts
Download the code
Webinar Series: Getting Started with SharePoint Framework
References…
 http://jenkinsblogs.com/2020/04/29/retrieve-sharepoint-list-items-using-microsoft-graph-api-for-spfx/
 https://developer.microsoft.com/en-us/graph/graph-explorer#
 https://docs.microsoft.com/en-us/graph/api/user-get?view=graph-rest-1.0&tabs=http
 https://docs.microsoft.com/en-us/graph/permissions-reference
 https://docs.microsoft.com/en-us/sharepoint/dev/spfx/use-msgraph
 https://docs.microsoft.com/en-us/sharepoint/dev/spfx/use-aad-tutorial
 https://docs.microsoft.com/en-us/sharepoint/dev/spfx/web-parts/isolated-web-parts
Webinar Series: Getting Started with SharePoint Framework
Thank You
Webinar Series: Getting Started with SharePoint Framework
Next up…
Build Microsoft Teams customizations with SPFx
Kirti Prajapati

Mais conteúdo relacionado

Mais procurados

Implement Authorization in your Apps with Microsoft identity platform-June 2020
Implement Authorization in your Apps with Microsoft identity platform-June 2020Implement Authorization in your Apps with Microsoft identity platform-June 2020
Implement Authorization in your Apps with Microsoft identity platform-June 2020Microsoft 365 Developer
 
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...BlueMetalInc
 
2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to Apps2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to AppsGilles Pommier
 
Creating modern java web applications based on struts2 and angularjs
Creating modern java web applications based on struts2 and angularjsCreating modern java web applications based on struts2 and angularjs
Creating modern java web applications based on struts2 and angularjsJohannes Geppert
 
Microsoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needsMicrosoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needsMicrosoft Tech Community
 
Introducing the new SharePoint 2013 app model
Introducing the new SharePoint 2013 app modelIntroducing the new SharePoint 2013 app model
Introducing the new SharePoint 2013 app modelJeremy Thake
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesBrian Culver
 
Kasten securing access to your kubernetes applications
Kasten securing access to your kubernetes applicationsKasten securing access to your kubernetes applications
Kasten securing access to your kubernetes applicationsLibbySchulze
 
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...SPTechCon
 
Migrate To Lightning Web Components from Aura framework to increase performance
Migrate To Lightning Web Components from Aura framework to increase performance Migrate To Lightning Web Components from Aura framework to increase performance
Migrate To Lightning Web Components from Aura framework to increase performance Bohdan Dovhań
 
Office 365 for Developers
Office 365 for DevelopersOffice 365 for Developers
Office 365 for DevelopersWes Yanaga
 
Spunite17 Converting your CEWP Customisations
Spunite17 Converting your CEWP CustomisationsSpunite17 Converting your CEWP Customisations
Spunite17 Converting your CEWP CustomisationsNCCOMMS
 
Grow your SharePoint development platform with SPFx
Grow your SharePoint development platform with SPFxGrow your SharePoint development platform with SPFx
Grow your SharePoint development platform with SPFxDipti Chhatrapati
 
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSanjay Patel
 
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...Bram de Jager
 
Windows Phone 7 Unleashed Session 2
Windows Phone 7 Unleashed Session 2Windows Phone 7 Unleashed Session 2
Windows Phone 7 Unleashed Session 2Wes Yanaga
 
SharePoint and Azure - A Match Made in the Clouds
SharePoint and Azure - A Match Made in the CloudsSharePoint and Azure - A Match Made in the Clouds
SharePoint and Azure - A Match Made in the CloudsShailen Sukul
 
Windows Azure SQL Database Federations
Windows Azure SQL Database FederationsWindows Azure SQL Database Federations
Windows Azure SQL Database FederationsNeil Mackenzie
 
What’s New for Devs
What’s New for DevsWhat’s New for Devs
What’s New for DevsMicrosoftFeed
 

Mais procurados (20)

Implement Authorization in your Apps with Microsoft identity platform-June 2020
Implement Authorization in your Apps with Microsoft identity platform-June 2020Implement Authorization in your Apps with Microsoft identity platform-June 2020
Implement Authorization in your Apps with Microsoft identity platform-June 2020
 
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
 
2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to Apps2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to Apps
 
Creating modern java web applications based on struts2 and angularjs
Creating modern java web applications based on struts2 and angularjsCreating modern java web applications based on struts2 and angularjs
Creating modern java web applications based on struts2 and angularjs
 
Microsoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needsMicrosoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needs
 
Introducing the new SharePoint 2013 app model
Introducing the new SharePoint 2013 app modelIntroducing the new SharePoint 2013 app model
Introducing the new SharePoint 2013 app model
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure Services
 
Kasten securing access to your kubernetes applications
Kasten securing access to your kubernetes applicationsKasten securing access to your kubernetes applications
Kasten securing access to your kubernetes applications
 
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...
 
Migrate To Lightning Web Components from Aura framework to increase performance
Migrate To Lightning Web Components from Aura framework to increase performance Migrate To Lightning Web Components from Aura framework to increase performance
Migrate To Lightning Web Components from Aura framework to increase performance
 
Office 365 for Developers
Office 365 for DevelopersOffice 365 for Developers
Office 365 for Developers
 
Introduction to Lightning Web Components
Introduction to Lightning Web ComponentsIntroduction to Lightning Web Components
Introduction to Lightning Web Components
 
Spunite17 Converting your CEWP Customisations
Spunite17 Converting your CEWP CustomisationsSpunite17 Converting your CEWP Customisations
Spunite17 Converting your CEWP Customisations
 
Grow your SharePoint development platform with SPFx
Grow your SharePoint development platform with SPFxGrow your SharePoint development platform with SPFx
Grow your SharePoint development platform with SPFx
 
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
 
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
 
Windows Phone 7 Unleashed Session 2
Windows Phone 7 Unleashed Session 2Windows Phone 7 Unleashed Session 2
Windows Phone 7 Unleashed Session 2
 
SharePoint and Azure - A Match Made in the Clouds
SharePoint and Azure - A Match Made in the CloudsSharePoint and Azure - A Match Made in the Clouds
SharePoint and Azure - A Match Made in the Clouds
 
Windows Azure SQL Database Federations
Windows Azure SQL Database FederationsWindows Azure SQL Database Federations
Windows Azure SQL Database Federations
 
What’s New for Devs
What’s New for DevsWhat’s New for Devs
What’s New for Devs
 

Semelhante a harePoint Framework Webinar Series: Consume Graph APIs in SharePoint Framework

Microsoft graph and power platform champ
Microsoft graph and power platform   champMicrosoft graph and power platform   champ
Microsoft graph and power platform champKumton Suttiraksiri
 
Leveraging SharePoint as a development platform for the modern intranet
Leveraging SharePoint as a development platform for the modern intranetLeveraging SharePoint as a development platform for the modern intranet
Leveraging SharePoint as a development platform for the modern intranetMicrosoft Tech Community
 
What's new and what's next in SharePoint Development for Enterprise & SPFx
What's new and what's next in SharePoint Development for Enterprise & SPFx What's new and what's next in SharePoint Development for Enterprise & SPFx
What's new and what's next in SharePoint Development for Enterprise & SPFx Vignesh Ganesan I Microsoft MVP
 
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem. SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem. Kushan Lahiru Perera
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourConvert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourBrian Culver
 
Grow your SharePoint development platform with SharePoint Framework
Grow your SharePoint development platform with SharePoint FrameworkGrow your SharePoint development platform with SharePoint Framework
Grow your SharePoint development platform with SharePoint FrameworkDipti Chhatrapati
 
SharePoint Framework SPFx
SharePoint Framework SPFxSharePoint Framework SPFx
SharePoint Framework SPFxVladimir Medina
 
Microsoft Graph API - A Single Stop For Your Cloud Solution
Microsoft Graph API - A Single Stop For Your Cloud SolutionMicrosoft Graph API - A Single Stop For Your Cloud Solution
Microsoft Graph API - A Single Stop For Your Cloud SolutionDipti Chhatrapati
 
Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...Fabio Franzini
 
Create cross-platform apps that interact with Microsoft Graph and Office 365 ...
Create cross-platform apps that interact with Microsoft Graph and Office 365 ...Create cross-platform apps that interact with Microsoft Graph and Office 365 ...
Create cross-platform apps that interact with Microsoft Graph and Office 365 ...Codemotion
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Osconvijayrvr
 
SPCA2013 - Once you go app you don't go back
SPCA2013 - Once you go app you don't go backSPCA2013 - Once you go app you don't go back
SPCA2013 - Once you go app you don't go backNCCOMMS
 
SharePoint as Development Platform for the Modern Intranet
SharePoint as Development Platform for the Modern IntranetSharePoint as Development Platform for the Modern Intranet
SharePoint as Development Platform for the Modern IntranetHaaron Gonzalez
 
SPUnite17 Building Great Client Side Web Parts with SPFx
SPUnite17 Building Great Client Side Web Parts with SPFxSPUnite17 Building Great Client Side Web Parts with SPFx
SPUnite17 Building Great Client Side Web Parts with SPFxNCCOMMS
 
Bring together SPFx Solutions in SharePoint and MS Teams​
Bring together SPFx Solutions in SharePoint and MS Teams​Bring together SPFx Solutions in SharePoint and MS Teams​
Bring together SPFx Solutions in SharePoint and MS Teams​Jenkins NS
 
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan SchoutenSharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan SchoutenRyan Schouten
 
M365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionM365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionThomas Daly
 
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)Brian Culver
 
Charla desarrollo de apps con sharepoint y office 365
Charla   desarrollo de apps con sharepoint y office 365Charla   desarrollo de apps con sharepoint y office 365
Charla desarrollo de apps con sharepoint y office 365Luis Valencia
 

Semelhante a harePoint Framework Webinar Series: Consume Graph APIs in SharePoint Framework (20)

Microsoft graph and power platform champ
Microsoft graph and power platform   champMicrosoft graph and power platform   champ
Microsoft graph and power platform champ
 
Leveraging SharePoint as a development platform for the modern intranet
Leveraging SharePoint as a development platform for the modern intranetLeveraging SharePoint as a development platform for the modern intranet
Leveraging SharePoint as a development platform for the modern intranet
 
What's new and what's next in SharePoint Development for Enterprise & SPFx
What's new and what's next in SharePoint Development for Enterprise & SPFx What's new and what's next in SharePoint Development for Enterprise & SPFx
What's new and what's next in SharePoint Development for Enterprise & SPFx
 
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem. SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourConvert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
 
Grow your SharePoint development platform with SharePoint Framework
Grow your SharePoint development platform with SharePoint FrameworkGrow your SharePoint development platform with SharePoint Framework
Grow your SharePoint development platform with SharePoint Framework
 
SharePoint Framework SPFx
SharePoint Framework SPFxSharePoint Framework SPFx
SharePoint Framework SPFx
 
Microsoft Graph API - A Single Stop For Your Cloud Solution
Microsoft Graph API - A Single Stop For Your Cloud SolutionMicrosoft Graph API - A Single Stop For Your Cloud Solution
Microsoft Graph API - A Single Stop For Your Cloud Solution
 
Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...
 
Create cross-platform apps that interact with Microsoft Graph and Office 365 ...
Create cross-platform apps that interact with Microsoft Graph and Office 365 ...Create cross-platform apps that interact with Microsoft Graph and Office 365 ...
Create cross-platform apps that interact with Microsoft Graph and Office 365 ...
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Oscon
 
SPCA2013 - Once you go app you don't go back
SPCA2013 - Once you go app you don't go backSPCA2013 - Once you go app you don't go back
SPCA2013 - Once you go app you don't go back
 
SharePoint as Development Platform for the Modern Intranet
SharePoint as Development Platform for the Modern IntranetSharePoint as Development Platform for the Modern Intranet
SharePoint as Development Platform for the Modern Intranet
 
SPUnite17 Building Great Client Side Web Parts with SPFx
SPUnite17 Building Great Client Side Web Parts with SPFxSPUnite17 Building Great Client Side Web Parts with SPFx
SPUnite17 Building Great Client Side Web Parts with SPFx
 
Bring together SPFx Solutions in SharePoint and MS Teams​
Bring together SPFx Solutions in SharePoint and MS Teams​Bring together SPFx Solutions in SharePoint and MS Teams​
Bring together SPFx Solutions in SharePoint and MS Teams​
 
Xamarin microsoft graph
Xamarin microsoft graphXamarin microsoft graph
Xamarin microsoft graph
 
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan SchoutenSharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
 
M365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionM365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx Version
 
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
 
Charla desarrollo de apps con sharepoint y office 365
Charla   desarrollo de apps con sharepoint y office 365Charla   desarrollo de apps con sharepoint y office 365
Charla desarrollo de apps con sharepoint y office 365
 

Mais de Jenkins NS

All about Send proactive messages in Microsoft Teams BOT
All about Send proactive messages in Microsoft Teams BOTAll about Send proactive messages in Microsoft Teams BOT
All about Send proactive messages in Microsoft Teams BOTJenkins NS
 
Surfacing SPFx Solutions in SharePoint, MS Teams, and Outlook Add-in
Surfacing SPFx Solutions in SharePoint, MS Teams, and Outlook Add-inSurfacing SPFx Solutions in SharePoint, MS Teams, and Outlook Add-in
Surfacing SPFx Solutions in SharePoint, MS Teams, and Outlook Add-inJenkins NS
 
Global M365 Developer Bootcamp 2020 Hyderabad: KEYNOTE
Global M365 Developer Bootcamp 2020 Hyderabad: KEYNOTEGlobal M365 Developer Bootcamp 2020 Hyderabad: KEYNOTE
Global M365 Developer Bootcamp 2020 Hyderabad: KEYNOTEJenkins NS
 
Global M365 Developer Bootcamp 2020 Hyderabad: WELCOME NOTE
Global M365 Developer Bootcamp 2020 Hyderabad: WELCOME NOTEGlobal M365 Developer Bootcamp 2020 Hyderabad: WELCOME NOTE
Global M365 Developer Bootcamp 2020 Hyderabad: WELCOME NOTEJenkins NS
 
SPFx Outlook add-in with Azure Cognitive services to detect the sentiment bef...
SPFx Outlook add-in with Azure Cognitive services to detect the sentiment bef...SPFx Outlook add-in with Azure Cognitive services to detect the sentiment bef...
SPFx Outlook add-in with Azure Cognitive services to detect the sentiment bef...Jenkins NS
 
Extend the unextended in microsoft teams
Extend the unextended in microsoft teamsExtend the unextended in microsoft teams
Extend the unextended in microsoft teamsJenkins NS
 
Power Automate integration with SPFX webpart
Power Automate integration with SPFX webpartPower Automate integration with SPFX webpart
Power Automate integration with SPFX webpartJenkins NS
 
Task-oriented interactions in Microsoft Teams with messaging extensions
Task-oriented interactions in Microsoft Teams with messaging extensionsTask-oriented interactions in Microsoft Teams with messaging extensions
Task-oriented interactions in Microsoft Teams with messaging extensionsJenkins NS
 
Microsoft power platform
Microsoft power platformMicrosoft power platform
Microsoft power platformJenkins NS
 
Introduction to microsoft teams app templates
Introduction to microsoft teams app templatesIntroduction to microsoft teams app templates
Introduction to microsoft teams app templatesJenkins NS
 
Build an app from scratch using teams app studio for ms teams
Build an app from scratch using teams app studio for ms teamsBuild an app from scratch using teams app studio for ms teams
Build an app from scratch using teams app studio for ms teamsJenkins NS
 
Empowering citizen developers using power apps
Empowering citizen developers using power appsEmpowering citizen developers using power apps
Empowering citizen developers using power appsJenkins NS
 
Ms teams webinar-getting started with microsoft teams development
Ms teams webinar-getting started with microsoft teams developmentMs teams webinar-getting started with microsoft teams development
Ms teams webinar-getting started with microsoft teams developmentJenkins NS
 
M365 virtual marathon build your first power virtual agents bot
M365 virtual marathon   build your first power virtual agents botM365 virtual marathon   build your first power virtual agents bot
M365 virtual marathon build your first power virtual agents botJenkins NS
 
SPFx Webinar Loading SharePoint data in a SPFx Webpart
SPFx Webinar Loading SharePoint data in a SPFx WebpartSPFx Webinar Loading SharePoint data in a SPFx Webpart
SPFx Webinar Loading SharePoint data in a SPFx WebpartJenkins NS
 
SPSChennai2020
SPSChennai2020SPSChennai2020
SPSChennai2020Jenkins NS
 
Trivandrumtechcon20
Trivandrumtechcon20Trivandrumtechcon20
Trivandrumtechcon20Jenkins NS
 
Governance and administration for teams app development
Governance and administration for teams app developmentGovernance and administration for teams app development
Governance and administration for teams app developmentJenkins NS
 
Getting started with spfx
Getting started with spfxGetting started with spfx
Getting started with spfxJenkins NS
 
Architecting your Intranet with SharePoint Modernization
Architecting your Intranet with SharePoint ModernizationArchitecting your Intranet with SharePoint Modernization
Architecting your Intranet with SharePoint ModernizationJenkins NS
 

Mais de Jenkins NS (20)

All about Send proactive messages in Microsoft Teams BOT
All about Send proactive messages in Microsoft Teams BOTAll about Send proactive messages in Microsoft Teams BOT
All about Send proactive messages in Microsoft Teams BOT
 
Surfacing SPFx Solutions in SharePoint, MS Teams, and Outlook Add-in
Surfacing SPFx Solutions in SharePoint, MS Teams, and Outlook Add-inSurfacing SPFx Solutions in SharePoint, MS Teams, and Outlook Add-in
Surfacing SPFx Solutions in SharePoint, MS Teams, and Outlook Add-in
 
Global M365 Developer Bootcamp 2020 Hyderabad: KEYNOTE
Global M365 Developer Bootcamp 2020 Hyderabad: KEYNOTEGlobal M365 Developer Bootcamp 2020 Hyderabad: KEYNOTE
Global M365 Developer Bootcamp 2020 Hyderabad: KEYNOTE
 
Global M365 Developer Bootcamp 2020 Hyderabad: WELCOME NOTE
Global M365 Developer Bootcamp 2020 Hyderabad: WELCOME NOTEGlobal M365 Developer Bootcamp 2020 Hyderabad: WELCOME NOTE
Global M365 Developer Bootcamp 2020 Hyderabad: WELCOME NOTE
 
SPFx Outlook add-in with Azure Cognitive services to detect the sentiment bef...
SPFx Outlook add-in with Azure Cognitive services to detect the sentiment bef...SPFx Outlook add-in with Azure Cognitive services to detect the sentiment bef...
SPFx Outlook add-in with Azure Cognitive services to detect the sentiment bef...
 
Extend the unextended in microsoft teams
Extend the unextended in microsoft teamsExtend the unextended in microsoft teams
Extend the unextended in microsoft teams
 
Power Automate integration with SPFX webpart
Power Automate integration with SPFX webpartPower Automate integration with SPFX webpart
Power Automate integration with SPFX webpart
 
Task-oriented interactions in Microsoft Teams with messaging extensions
Task-oriented interactions in Microsoft Teams with messaging extensionsTask-oriented interactions in Microsoft Teams with messaging extensions
Task-oriented interactions in Microsoft Teams with messaging extensions
 
Microsoft power platform
Microsoft power platformMicrosoft power platform
Microsoft power platform
 
Introduction to microsoft teams app templates
Introduction to microsoft teams app templatesIntroduction to microsoft teams app templates
Introduction to microsoft teams app templates
 
Build an app from scratch using teams app studio for ms teams
Build an app from scratch using teams app studio for ms teamsBuild an app from scratch using teams app studio for ms teams
Build an app from scratch using teams app studio for ms teams
 
Empowering citizen developers using power apps
Empowering citizen developers using power appsEmpowering citizen developers using power apps
Empowering citizen developers using power apps
 
Ms teams webinar-getting started with microsoft teams development
Ms teams webinar-getting started with microsoft teams developmentMs teams webinar-getting started with microsoft teams development
Ms teams webinar-getting started with microsoft teams development
 
M365 virtual marathon build your first power virtual agents bot
M365 virtual marathon   build your first power virtual agents botM365 virtual marathon   build your first power virtual agents bot
M365 virtual marathon build your first power virtual agents bot
 
SPFx Webinar Loading SharePoint data in a SPFx Webpart
SPFx Webinar Loading SharePoint data in a SPFx WebpartSPFx Webinar Loading SharePoint data in a SPFx Webpart
SPFx Webinar Loading SharePoint data in a SPFx Webpart
 
SPSChennai2020
SPSChennai2020SPSChennai2020
SPSChennai2020
 
Trivandrumtechcon20
Trivandrumtechcon20Trivandrumtechcon20
Trivandrumtechcon20
 
Governance and administration for teams app development
Governance and administration for teams app developmentGovernance and administration for teams app development
Governance and administration for teams app development
 
Getting started with spfx
Getting started with spfxGetting started with spfx
Getting started with spfx
 
Architecting your Intranet with SharePoint Modernization
Architecting your Intranet with SharePoint ModernizationArchitecting your Intranet with SharePoint Modernization
Architecting your Intranet with SharePoint Modernization
 

Último

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 

Último (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 

harePoint Framework Webinar Series: Consume Graph APIs in SharePoint Framework

  • 1. Webinar Series: Getting Started with SharePoint Framework Getting Started with SharePoint Framework Webinar Series
  • 2. Webinar Series: Getting Started with SharePoint Framework Consume Graph APIs in SharePoint Framework
  • 3. Webinar Series: Getting Started with SharePoint Framework Jenkins NS Modern Workplace Solution Architect | Consultant Founder & Director @ Microsoft Teams, Power Platform and SPFx Specialist International Speaker | Blogger | Trainer SPS Bangalore Organizer aOS Ambassador @jenkinsns https://www.facebook.com/msteamsinfo in/jenkinsns jenkinsns@gmail.com http://www.jenkinsblogs.com jenkinsns https://www.facebook.com/spfxinfo/
  • 4. Webinar Series: Getting Started with SharePoint Framework Agenda  Overview of MS Graph  Office 365 APIs  What is Graph API?  Consume Microsoft Graph  AadHttpClient object  MSGraphClient object  API permissions requests  Isolated web parts  Demo
  • 5. Webinar Series: Getting Started with SharePoint Framework Office 356 APIs Service Functionality Base URL Azure AD Graph User, Groups Application, Devices https://graph.windows.net Exchange Online Mail, Calendar, Contacts https://outlook.office365.com/api SharePoint Online List, Libraries, Search, User Profiles https://tenant.sharepoint.com/_api OneDrive for Business Files, Folders https://tenant-my.sharepoint.com/_api OneNote Notebooks,Pages https://onenote.com/api Yammer Conversations https://yammer.com/api Stream Videos, Channels https://tenant.sharepoint.com/portals
  • 6. Webinar Series: Getting Started with SharePoint Framework STANDALONE WEB, DEVICE, AND SERVICE APPS EXTENSIONS EMBEDDED CANVASES Microsoft Graph External Data & Content Conversation are Core to the Office 365 Platform
  • 7. Webinar Series: Getting Started with SharePoint Framework Overview of Microsoft Graph
  • 8. Webinar Series: Getting Started with SharePoint Framework What is Graph API? Microsoft Graph exposes REST APIs and client libraries to access data on the following Microsoft 365 services: Office 365 services: Delve, Excel, Microsoft Bookings, Microsoft Teams, OneDrive, OneNote, Outlook/Exchange, Planner, and SharePoint Enterprise Mobility and Security services: Advanced Threat Analytics, Advanced Threat Protection, Azure Active Directory, Identity Manager, and Intune Windows 10 services: activities, devices, notifications Dynamics 365 Business Central
  • 9. Webinar Series: Getting Started with SharePoint Framework SharePointGroups Microsoft Graph Access user, group and organizational data One endpoint One token All users Your App https://graph.microsoft.com #SPTechCon Users Azure ADOutlook OneNote Planner Teams Excel Intune More…
  • 10. Webinar Series: Getting Started with SharePoint Framework Consume Microsoft Graph You can now implement the below methods to consume the Microsoft Graph. You have two options: 1. Use the AadHttpClient client object 2. Use the MSGraphClient client object SharePoint Framework v1.6.0 onwards supported consuming the MS Graph APIs and custom APIs. Note:  SharePoint Framework v1.4.1 beta onwards MS Graph APIs supported.  You can consume the Microsoft Graph API with versions of SharePoint Framework earlier than v.1.4.1, either via the native graphHttpClient, or via a manual ADAL JS implicit OAuth flow.
  • 11. Webinar Series: Getting Started with SharePoint Framework AadHttpClient AadHttpClient The AadHttpClient client object is useful for consuming any REST API. You can use it to consume Microsoft Graph or any other third-party (or first-party) REST API and “AadHttpClient” is used to perform REST calls against an Azure AD Application, for example 3rd party WebAPI hosted in Azure.  For communicating with SharePoint, use the “SPHttpClient” class instead.  For communicating SharePoint with Microsoft Graph, use the MSGraphClient class. this.props.context.aadHttpClientFactory .getClient('https://graph.microsoft.com’) .then((client: AadHttpClient) => { // Search for the users with givenName, surname, or displayName equal to the searchFor value return client .get( `https://graph.microsoft.com/v1.0/users?$select=displayName,mail,userPrincipalName&$filter=(givenName%20eq%20'${escape(this.state.searchFor)}')%20or%20(sur name%20eq%20'${escape(this.state.searchFor)}')%20or%20(displayName%20eq%20'${escape(this.state.searchFor)}')`, AadHttpClient.configurations.v1 ); }) .then(response => { return response.json(); })
  • 12. Webinar Series: Getting Started with SharePoint Framework MSGraphClient object MSGraphClient “MSGraphClient” is used to perform REST calls against Microsoft Graph. The Microsoft Graph JavaScript client library is a lightweight wrapper around the Microsoft Graph API. This class allows developers to start making REST calls to MSGraph without needing to initialize the MSGraph client library.  The MSGraphClient client object can consume the Microsoft Graph only. Internally it uses the AadHttpClient client object and supports the fluent syntax of the Microsoft Graph SDK.  Supported from SPFx v1.4.1 (Initial beta release of MSGraphClient class)  MSGraphClient is a new HTTP client introduced in SharePoint Framework v1.6.0 this.props.context.msGraphClientFactory .getClient() .then((client: MSGraphClient): void => { // From https://github.com/microsoftgraph/msgraph-sdk-javascript sample client .api("users") .version("v1.0") .select("displayName,mail,userPrincipalName") .filter(`(givenName eq '${escape(this.state.searchFor)}') or (surname eq '${escape(this.state.searchFor)}') or (displayName eq '${escape(this.state.searchFor)}')`) .get((err, res) => { if (err) { console.error(err); return; }
  • 13. Webinar Series: Getting Started with SharePoint Framework API Permissions  To consume Microsoft Graph or any other third-party REST API, you need to explicitly declare the permission requirements from an OAuth perspective in the manifest of your solution.  In the SharePoint Framework v.1.4.1 or later, you can do that by configuring the webApiPermissionRequests property in the package-solution.json under the config folder of the solution.  Microsoft Graph permission names follow a simple pattern: resource.operation.constraint..Read grants permission to read the profile of the signed-in user.  User.ReadWrite grants permission to read and modify the profile of the signed-in user and  Mail.Send grants permission to send mail on behalf of the signed-in user. "webApiPermissionRequests": [ { "resource": "Microsoft Graph", "scope": "User.ReadBasic.All" } ] https://docs.microsoft.com/en-us/graph/api/resources/team?view=graph-rest-1.0
  • 14. Webinar Series: Getting Started with SharePoint Framework API access
  • 15. Webinar Series: Getting Started with SharePoint Framework Isolated Webparts
  • 16. Webinar Series: Getting Started with SharePoint Framework Why Isolated web parts?  To allow your SharePoint Framework solutions to securely access APIs secured with Azure AD, you can use the API management to specify which APIs can be accessed by scripts in your tenant and with which permissions.  Using the SharePoint Framework, you can easily retrieve an access token for the specific API.  While it significantly simplifies communicating with APIs secured with Azure AD, it allows all scripts, not just specific SharePoint Framework solutions, to obtain an access token for any of the approved APIs. If one of the scripts you use in your tenant was exploited, then it could access any of the approved APIs on behalf of the current user.  SharePoint Framework v1.8.0 onwards has addressed this situation by introducing isolated web parts  Isolated web parts introduce a new way to isolate access to APIs secured with Azure AD and ensure that only specific SharePoint Framework web parts are allowed to obtain an access token for the particular API.  If your web part requires permission to access any backend API or Graph, it is strongly recommended to have the web part isolated.  We should protect the access token which is used behind the scenes and make sure that no other script on the page will piggy-back the permissions we are using. Isolated web part is one step towards handling security concerns.
  • 17. Webinar Series: Getting Started with SharePoint Framework Isolated web parts
  • 18. Webinar Series: Getting Started with SharePoint Framework Isolated web parts benefits  Web parts from an isolated SPFx package run on a unique domain, hosted within an iFrame - the permissions granted apply only to code hosted on that domain.  Regular SPFx web parts run on your *.sharepoint.com domain, the granted permissions do not apply there.  And since any other SPFx isolated web parts run on a different unique domain, they don't apply there either.  Essentially, the shared application principal for SPFx is not used – instead, an AAD app registration dedicated to this SPFx solution is created and used for authentication.  Note this scope isn’t the individual web part, but the containing solution package.  This is fine however - if you have an untrusted source contributing code to the very same solution/codebase, then you probably have bigger security and governance challenges to deal with quite frankly. In the ‘config/package-solution.json’ file, set the isDomainIsolated property to true. "isDomainIsolated": true
  • 19. Webinar Series: Getting Started with SharePoint Framework Demo SharePoint Framework https://github.com/jenkinsns/spfx-demo-webparts Download the code
  • 20. Webinar Series: Getting Started with SharePoint Framework References…  http://jenkinsblogs.com/2020/04/29/retrieve-sharepoint-list-items-using-microsoft-graph-api-for-spfx/  https://developer.microsoft.com/en-us/graph/graph-explorer#  https://docs.microsoft.com/en-us/graph/api/user-get?view=graph-rest-1.0&tabs=http  https://docs.microsoft.com/en-us/graph/permissions-reference  https://docs.microsoft.com/en-us/sharepoint/dev/spfx/use-msgraph  https://docs.microsoft.com/en-us/sharepoint/dev/spfx/use-aad-tutorial  https://docs.microsoft.com/en-us/sharepoint/dev/spfx/web-parts/isolated-web-parts
  • 21. Webinar Series: Getting Started with SharePoint Framework Thank You
  • 22. Webinar Series: Getting Started with SharePoint Framework Next up… Build Microsoft Teams customizations with SPFx Kirti Prajapati

Notas do Editor

  1. https://docs.microsoft.com/en-us/graph/api/resources/team?view=graph-rest-1.0 https://developer.microsoft.com/en-us/graph/graph-explorer# https://docs.microsoft.com/en-us/graph/permissions-reference