meeting #130 welcome to the minnesota sharepoint user group october 14 th, 2015 introduction to...

30
Meeting #130 http://sharepointmn.com Welcome to the Minnesota SharePoint User Group October 14 th , 2015 Introduction to Developing Solutions with Visual Studio and Office 365 REST APIs Doug Hemminger, MVP Donald Donais

Upload: garey-martin

Post on 05-Jan-2016

219 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

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

Page 2: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

Meeting #130http://sharepointmn.com

Agenda

• MNSPUG Information

• Doug Hemminger - Presentation

• BREAK

• Doug Hemminger - Presentation

• Giveaways

Page 3: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

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

Page 4: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

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)

Page 5: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

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]

Page 6: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

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/

Page 7: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

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

Page 8: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

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?

Page 9: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

Meeting #130http://sharepointmn.com

Evaluations & Giveaways!

Page 10: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

Introduction to Developing Solutions with Visual Studio and Office 365 REST APIs

Doug Hemminger, MVPSharePoint Guy, Protiviti

Page 11: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

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

Page 12: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

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

Page 13: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

Background

Page 14: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

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

Page 15: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

The most strategic developer surface area for us is Office 365

”—Satya Nadella

Page 16: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

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

Page 17: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

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

Page 18: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

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

Page 19: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

http://aka.ms/Office365DevAPIs

Page 20: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

Get Started

Page 21: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

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

Page 22: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

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

Page 23: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

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

Page 24: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

Office Developer Tools for Visual Studio 2013:

http://aka.ms/OfficeDevToolsForVS2013

Install Developer Tools

24

Page 25: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

Develop an App

Page 26: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

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/

Page 27: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

Your App

Office 365 unified API (preview)

https://graph.microsoft.com/

Page 28: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

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

Page 29: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

Thank You!

Page 30: Meeting #130 Welcome to the Minnesota SharePoint User Group October 14 th, 2015 Introduction to Developing Solutions with Visual

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!