Intro to Apps Minnesota SharePoint User Group Raymond Mitchell@iwkid@iwkid April 2014.
Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to...
-
Upload
garey-martin -
Category
Documents
-
view
219 -
download
3
Transcript of Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to...
Meeting #130http://sharepointmn.com
Welcome to the Minnesota SharePoint
User Group
October 14th, 2015
Introduction to Developing Solutions with
Visual Studio and Office 365 REST APIs
Doug Hemminger, MVP
Donald Donais
Meeting #130http://sharepointmn.com
Agenda
• MNSPUG Information
• Doug Hemminger - Presentation
• BREAK
• Doug Hemminger - Presentation
• Giveaways
Meeting #130http://sharepointmn.com
User Group Goal / Objectives
Develop and support a local community focused on Microsoft SharePoint Technologies
• Educate user group members about SharePoint Technologies• Transfer knowledge within the community• Communicate best practices• Introduce new products / solutions
Meeting #130http://sharepointmn.com
MNSPUG Sponsors
Wrox Press (www.wrox.com)
O’Reilly (www.oreilly.com)
Dedicated Sponsors
Avtex (www.avtex.com)
Microsoft (www.microsoft.com)
Annual Sponsor
Sponsorships Levels:• Gold Sponsorship -
$500• Silver Sponsorship -
$250
SharePoint User Group Support
Atomic Data (http://www.atomicdata.com)
Meeting #130http://sharepointmn.com
MN SharePoint Users Group Website
• SharePoint Resource Documents• SharePoint Resource links• RSS Feeds • Meeting Schedule• Past User Group Presentations• Past User Group Recordings• Sponsorship Information
• http://sharepointmn.com• Email: [email protected]
Meeting #130http://sharepointmn.com
Social Networking
• Linked In group – The most interactive… includes job postings… Post Job Posting on the Jobs Discussion page
http://www.linkedin.com/groups?gid=1878792
• Twitter tags - @MNSPUG and #MNSPUG
• Yammer – Minnesota SharePoint Users Group https://www.yammer.com/mnspug/
Meeting #130http://sharepointmn.com
Upcoming Schedule
• Next Meeting November 11th, 2015 – Sean McDonough – Performance Troubleshooting with
SharePoint Online and O365 Microsoft Technology Center, Edina, MN Check www.SharePointMN.com for updates!
• Ongoing Schedule 2nd Wednesday of every month 9:00 to 11:30 am Microsoft Technical Center – Edina
Meeting #130http://sharepointmn.com
Local and Online EventsMN Women in SharePoint – October 20th , 4 – 6 p.m. Yard House located in Shops @ West End, St. Louis ParkVisit the MNWISP Yammer Group - https://www.yammer.com/minnesotawomeninsharepoint#/
Unbound Event – October 23rd, 8 – 4 p.m. at Land O’Lakes Headquarters in Ardent HillsNo Pre-RegistrationTo Find Out More about Unbound: https://medium.com/@espnguyen/_unbound-in-minneapolis-8a2829f31549
SharePoint Saturday Twin Cities – Oct 24th at Normandale Community College, Bloomington, MNhttp://spstc.com
Anything Else?
Meeting #130http://sharepointmn.com
Evaluations & Giveaways!
Introduction to Developing Solutions with Visual Studio and Office 365 REST APIs
Doug Hemminger, MVPSharePoint Guy, Protiviti
About MeI am a Chicago-based Microsoft SharePoint Server MVP and a SharePoint Solution Architect for Protiviti
Chica
go
E-mail: [email protected]
Twitter: @DougHemminger
Blog: www.SharePointDoug.com
Contact Me
Agenda
Background• The Opportunity• Why REST• Why OData• REST Queries through the browser
Get Started• Get an Office 365 Developer Site • Set up Azure Active Directory• Install Developer Tools• Build Your First App
Develop an App• Hello World• Search REST API
12
Background
Microsoft cloud portfolio - AbbreviatedPri
vate
cl
oud
SaaS
Infrastructure services virtual
machines
virtual network VPN
traffic manage
r CDN
IaaS
identity
Appservices
cachingintegrati
onservice
bus media
HPCanalytic
swebsite
smobile
services
cloud services
Dataservices SQL
database
HDInsight table
blob storage
PaaS
The most strategic developer surface area for us is Office 365
“
”—Satya Nadella
Representational State Transfer (REST) is a software architecture style consisting of guidelines and best practices for creating scalable web services.
REST is popular and easy to use• Easier to use than SOAP and WSDL-based web services• Much easier to call from JavaScript and jQuery• Results come back in JSON or ATOM format
REST is stateless
REST is cacheable
Why REST?
16
OData standardizes data access APIs for CRUD operations by mapping them to HTTP verbs• Read operations mapped to HTTP GET• Insert operations mapped to HTTP POST• Update operations mapped to HTTP PUT or HTTP MERGE• Delete operations mapped to HTTP DELETE
Source: https://msdn.microsoft.com/en-us/library/office/jj860569(v=office.15).aspx
Why Odata?
17
URI = [Service Root] + [Resource Path] + [Query Options]• https://protosocompany.sharepoint.com/sites/dougdev/_vti_bin/client.svc/web/lists/
getByTitle('Apps In Testing')/Items?$select=AppName,Created
• Service Root = https://protosocompany.sharepoint.com/sites/dougdev/_vti_bin/client.svc
• Resource Path = /web/lists/getByTitle('Apps In Testing')/Items
• Query Options = ?$select=AppName,Created
• Note that, in SharePoint, “_vti_bin/client.svc” can be replaced with _api
DEMO: Accessing REST APIs through the browser
URI Construction
18
http://aka.ms/Office365DevAPIs
Get Started
Must have an Office 365 Subscription that supports a developer site• Office 365 Midsize Business• Office 365 Enterprise E1, E3, E4, or K1• Office 365 Education A2, A3, or A4• Office 365 Government G1, G3, G4, or K1
30 Day Year Free Trial is available
No Developer Site on Office 365 Small Business
DEMO: Creating an Office 365 Developer SiteSource: https://msdn.microsoft.com/library/2ec857d5-dc6f-4cf6-ba45-adc845ef2a25%28Office.15%29.aspx
Get An Office 365 Developer Site
21
Authentication to Office 365 APIs using Resource Id
Your ApplicationAzure AD Authorization
Endpoint
Azure AD Token
Endpoint Office 365 API
Request authorization code
Sign-in via browser pop-up
Return authorization code
Redeem authorization code and acquire access token for Office 365 resource
Return id, access, and refresh tokens
Return Http Response
Call Office 365 API using the access token
Can be done with an existing tenant OR
Can be done with the underlying Office 365 Tenant
DEMO: Set up Azure Active Directory with the underlying Office 365 tenant
Instructions: https://msdn.microsoft.com/office/office365/HowTo/setup-development-environment#bk_CreateAzureSubscription
Setup Azure Active Directory
23
Office Developer Tools for Visual Studio 2013:
http://aka.ms/OfficeDevToolsForVS2013
Install Developer Tools
24
Develop an App
O365 APIs
Simple REST APIs for Office 365 services authorized through Azure AD
Service Functionality Base URL
Azure AD GraphUsers, Groups, Applications, Devices
https://graph.windows.net/
Exchange Online Mail, Calendar, Contacts https://outlook.office365.com/api/
SharePoint OnlineLists, Libraries, Search, User Profiles
https://<tenant>.sharepoint.com/_api/
OneDrive for Business Files, Folders https://<tenant>-my.sharepoint.com/
_api/
OneNote Notebooks, Pages https://www.onenote.com/api/
Yammer Conversations https://www.yammer.com/api/
Video Portal Videos, Channels
https://<tenant>.sharepoint.com/portals/
Unified GroupsGroup Calendar, Files, Conversations
https://graph.microsoft.com/
Your App
Office 365 unified API (preview)
https://graph.microsoft.com/
Resources
28
Title Url
Office Dev Center http://dev.office.com/
Setup Your Office 365 Development Environment https://msdn.microsoft.com/office/office365/HowTo/setup-development-environment
Get Your Hands Dirty with Office 365 RESTful APIs https://channel9.msdn.com/Events/Ignite/2015/BRK4117
Introduction to Office 365 Development http://www.microsoftvirtualacademy.com/training-courses/introduction-to-office-365-development
REST API reference and samples (good video fro Kirk Evans) https://msdn.microsoft.com/en-us/library/office/jj860569(v=office.15).aspx
Populate Office 365 Developer Tenant with Sample Data http://dev.office.com/code-samples-detail/2305
Office 365 Start Project http://dev.office.com/code-samples-detail/1511
Thank You!
Meeting #130http://sharepointmn.com
Last But Not Least
• Please Fill Out Evaluations• Drawings for Giveaways• Online Participants Eval
http://1drv.ms/1ctXdcB
• Today’s Presenters:• Sarah Haase
Thanks for coming!