Getting Started with Office 365 DevelopmentDragan Panjkov
Slides for session presented at Office365 Saturday Europe 2014, 15.11.2014.
This session introduces you to the Microsoft Office 365 Development platform. It introduces the main two approaches to developing using the App Model to make your customizations appear in the products and the Office 365 APIs to consume them from within your own applications. Understand the strategy and direction of the Office 365 development platform. Learn the key ways to develop on top of the Office 365 platform. See some key scenarios that highlight the benefit of building business solutions on top of the Office 365 platform.
This session is delivered on TechEd Europe 2014, in a bit longer format.
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...Bram de Jager
The new SharePoint App Model provides different ways of building apps. As a developer you have to choose between development techniques, hosting options and more. This session discusses the architecture, various types of apps, application identity and permissions, and how to build these different types of apps.
The session contains demos covering building SharePoint-hosted apps, implementing SharePoint 2013 chrome control, setting the right permissions, and more with Visual Studio 2012.
So You Want To Be A SharePoint Developer-SPS Silicon Valley 2015Ryan Schouten
In this session we will dive into the information that you will need to be a successful developer for SharePoint. Whether you are a seasoned .Net developer or a Web developer of any sort we will cover the basics of SharePoint Development and all the options available to you. By the end of this session you will have a firm understanding of how to get started developing on SharePoint and you will be, a SharePoint Padawan.
ESPC15 - Introduction to AngularJS in an Office 365 contextSébastien Levert
Every developer hears about AngularJS and all the magic it does for your applications. In order to kickstart you AngularJS journey, this session is an introduction to the AngularJS concepts applied to any Office 365 development. Different workloads will be targeted (Mail, Calendar, Files) and the Office 365 API will be our main datasource. We will also cover SharePoint Online specific data access (Office 365 API, REST, CSOM and Search) to meet your current development needs.
As a developer, you will learn the basic concepts of AngularJS and will be able to use those in an Office 365 context. You will be able to build rich applications (Single Page Application) and forms that will simplify your development process.
Getting Started with Office 365 DevelopmentDragan Panjkov
Slides for session presented at Office365 Saturday Europe 2014, 15.11.2014.
This session introduces you to the Microsoft Office 365 Development platform. It introduces the main two approaches to developing using the App Model to make your customizations appear in the products and the Office 365 APIs to consume them from within your own applications. Understand the strategy and direction of the Office 365 development platform. Learn the key ways to develop on top of the Office 365 platform. See some key scenarios that highlight the benefit of building business solutions on top of the Office 365 platform.
This session is delivered on TechEd Europe 2014, in a bit longer format.
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...Bram de Jager
The new SharePoint App Model provides different ways of building apps. As a developer you have to choose between development techniques, hosting options and more. This session discusses the architecture, various types of apps, application identity and permissions, and how to build these different types of apps.
The session contains demos covering building SharePoint-hosted apps, implementing SharePoint 2013 chrome control, setting the right permissions, and more with Visual Studio 2012.
So You Want To Be A SharePoint Developer-SPS Silicon Valley 2015Ryan Schouten
In this session we will dive into the information that you will need to be a successful developer for SharePoint. Whether you are a seasoned .Net developer or a Web developer of any sort we will cover the basics of SharePoint Development and all the options available to you. By the end of this session you will have a firm understanding of how to get started developing on SharePoint and you will be, a SharePoint Padawan.
ESPC15 - Introduction to AngularJS in an Office 365 contextSébastien Levert
Every developer hears about AngularJS and all the magic it does for your applications. In order to kickstart you AngularJS journey, this session is an introduction to the AngularJS concepts applied to any Office 365 development. Different workloads will be targeted (Mail, Calendar, Files) and the Office 365 API will be our main datasource. We will also cover SharePoint Online specific data access (Office 365 API, REST, CSOM and Search) to meet your current development needs.
As a developer, you will learn the basic concepts of AngularJS and will be able to use those in an Office 365 context. You will be able to build rich applications (Single Page Application) and forms that will simplify your development process.
Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...Bram de Jager
With the new SharePoint App model running outside the SharePoint worker process it introduces new authentication models. As a developer you don't want to build multiple versions of the same app implementing each authentication model separately. This session explains the differences between securing SharePoint apps with OAuth in Office 365 and S2S High Trust in on-premise deployments. You will learn how to build a single app that will run on-premise, online and hybrid SharePoint environments.
Attending the session provides in-depth insights into the authentication models for SharePoint Apps. After attending the session the developer is able to make a decision whether to implement SharePoint Apps as on-premise only, cloud only or "Hybrid" app that runs both on-premise and cloud.
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...Bram de Jager
The new SharePoint App Model provides different ways of building apps. As a developer you have to choose between development techniques, hosting options and more. This session discusses the architecture, various types of apps, application identity and permissions, and how to build these different types of apps. The session contains demos covering building SharePoint-hosted apps, implementing SharePoint 2013 chrome control, setting the right permissions, and more with Visual Studio 2012.
Introducing App Launcher
Delivered by: Wes Hackett
Audience: Office 365, Information Worker, Developer
A new feature of Office 365 is the 'app launcher' and 'my apps' features. These new features provide a new style of navigation experience where all your apps are available from the Office 365 suite bar and the ability for a user to pin their preferred apps. This session introduces the features and the extensibility approaches to have your own apps interact with it.
Getting started with SharePoint 2013 online developmentJeremy Thake
Getting started with SharePoint 2010 Online development
Jeremy Thake, SharePoint MVP, will introduce SharePoint 2013 Online as an application development platform inside Office 365. The session will explain how to get started with the different approaches from web UI configurations, to SharePoint Designer 2013 customizations to full blown Visual Studio development with Sandbox Solutions. Jeremy will introduce the concepts of how Application Lifecycle Management can be introduced to this along with migrating existing applications across from on-premise.
From this session you should walk away with:
Using SharePoint Online 2013 as an Application Development Platform
Getting Started with SharePoint Online 2013 development
Application Lifecycle Management with SharePoint Online 2013 in Office 365
Migrating SharePoint 2013 Apps to SharePoint Online 2013
This is a supplementary slide deck to the presentation on how to build native Android app which integrates with SharePoint Online by using Xamarin and Visual Studio. Check out sharemuch.com for the source code
Microsoft Graph API - A Single Stop For Your Cloud SolutionDipti Chhatrapati
The purpose of this slide is to help you to build a Cloud App using Microsoft Graph API as per your business requirement that works with data from different cloud services whether it’s a one-drive, outlook, office 365 Groups, Users and many more.
I have categorized information by seven rainbow colored steps to understand how Microsoft Graph API is a single stop for your cloud solution , hope you will enjoy it !
Office apps in Office 365 - Napa the next big thingSPC Adriatics
Speakers: Martina Grom, Toni Pohl; How to build development Solutions without your own Servers, only by using Office 365. In this session we will see how to use the new development model for building cool Office Apps. What is NAPA and how to use it. This session will provide an overview of the new developer features for Office and SharePoint.
MVP Virtual Conference - Introduction to AngularJS in an Office 365 ContextSébastien Levert
Every developer hears about AngularJS and all the magic it does for you applications. In order to kickstart you AngularJS journey, this session is an introduction to the AngularJS concepts applied to any Office 365 development. Different workloads will be targeted (Mail, Calendar, Files) and the Office 365 API will be our main datasource. We will also cover SharePoint Online specific data access (Office 365 API, REST, CSOM and Search) to meet your current development needs.
Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...Bram de Jager
With the new SharePoint App model running outside the SharePoint worker process it introduces new authentication models. As a developer you don't want to build multiple versions of the same app implementing each authentication model separately. This session explains the differences between securing SharePoint apps with OAuth in Office 365 and S2S High Trust in on-premise deployments. You will learn how to build a single app that will run on-premise, online and hybrid SharePoint environments.
Attending the session provides in-depth insights into the authentication models for SharePoint Apps. After attending the session the developer is able to make a decision whether to implement SharePoint Apps as on-premise only, cloud only or "Hybrid" app that runs both on-premise and cloud.
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...Bram de Jager
The new SharePoint App Model provides different ways of building apps. As a developer you have to choose between development techniques, hosting options and more. This session discusses the architecture, various types of apps, application identity and permissions, and how to build these different types of apps. The session contains demos covering building SharePoint-hosted apps, implementing SharePoint 2013 chrome control, setting the right permissions, and more with Visual Studio 2012.
Introducing App Launcher
Delivered by: Wes Hackett
Audience: Office 365, Information Worker, Developer
A new feature of Office 365 is the 'app launcher' and 'my apps' features. These new features provide a new style of navigation experience where all your apps are available from the Office 365 suite bar and the ability for a user to pin their preferred apps. This session introduces the features and the extensibility approaches to have your own apps interact with it.
Getting started with SharePoint 2013 online developmentJeremy Thake
Getting started with SharePoint 2010 Online development
Jeremy Thake, SharePoint MVP, will introduce SharePoint 2013 Online as an application development platform inside Office 365. The session will explain how to get started with the different approaches from web UI configurations, to SharePoint Designer 2013 customizations to full blown Visual Studio development with Sandbox Solutions. Jeremy will introduce the concepts of how Application Lifecycle Management can be introduced to this along with migrating existing applications across from on-premise.
From this session you should walk away with:
Using SharePoint Online 2013 as an Application Development Platform
Getting Started with SharePoint Online 2013 development
Application Lifecycle Management with SharePoint Online 2013 in Office 365
Migrating SharePoint 2013 Apps to SharePoint Online 2013
This is a supplementary slide deck to the presentation on how to build native Android app which integrates with SharePoint Online by using Xamarin and Visual Studio. Check out sharemuch.com for the source code
Microsoft Graph API - A Single Stop For Your Cloud SolutionDipti Chhatrapati
The purpose of this slide is to help you to build a Cloud App using Microsoft Graph API as per your business requirement that works with data from different cloud services whether it’s a one-drive, outlook, office 365 Groups, Users and many more.
I have categorized information by seven rainbow colored steps to understand how Microsoft Graph API is a single stop for your cloud solution , hope you will enjoy it !
Office apps in Office 365 - Napa the next big thingSPC Adriatics
Speakers: Martina Grom, Toni Pohl; How to build development Solutions without your own Servers, only by using Office 365. In this session we will see how to use the new development model for building cool Office Apps. What is NAPA and how to use it. This session will provide an overview of the new developer features for Office and SharePoint.
MVP Virtual Conference - Introduction to AngularJS in an Office 365 ContextSébastien Levert
Every developer hears about AngularJS and all the magic it does for you applications. In order to kickstart you AngularJS journey, this session is an introduction to the AngularJS concepts applied to any Office 365 development. Different workloads will be targeted (Mail, Calendar, Files) and the Office 365 API will be our main datasource. We will also cover SharePoint Online specific data access (Office 365 API, REST, CSOM and Search) to meet your current development needs.
With the advent of NextGen portals, Office 365 becomes less of a box of building blocks and more of a collection of destinations: turn-key solutions ready for you to use. But how will your users reach all those destinations and where should they depart from?
In this session we will show you how to build a solution that integrates information from NextGen portals and offers your users a starting point for their journeys bringing the most relevant information to their finger tips.
Mastering Office 365 Development - Toni Pohl, atworkSPC Adriatics
Cloud First! In this session we will show you how you can extend your Office 365 solutions with cool Development. We will go through identity management as well as showing you how you can use REST and build in some cool Office 365 functionality in your own solutions. We will also use the Office 365 API to develop our own Windows 8.1 app.
Session by Toni Pohl at SPC Adriatics 2014, Zagreb.
Cloud First! In this session we will show you how you can extend your Office 365 solutions with Development. We will go through identity management as well as showing you how you can use client libraries and build in some cool Office 365 functionality in your own solutions. We will also use the Office 365 API to develop our own Windows 8.1 app.
For years, SharePoint has been positioned as a web development platform, but it’s hard to build modern websites using SharePoint’s rigid UI, which is rooted in decade-old WebForms technology. These solutions often break when SharePoint is upgraded, either in a migration from SharePoint 2013 to 2016, or really at any moment with SharePoint online! In this session, you’ll learn how to follow the patterns Microsoft uses in its NextGen portals and build your own modern application using SharePoint and Office 365 as a set of services. These solutions are responsive and can be developed using contemporary ASP.NET MVC technology. Content is stored in SharePoint or Office 365, and is enhanced through the machine learning in Office Graph. You’ll even learn how to include your own line-of-business data without the need for complex BCS configurations. Join us and learn to make your own Next Generation portal backed by SharePoint and Office 365!
With the advent of NextGen portals, Office 365 becomes less of a box of building blocks and more of a collection of destinations: turn-key solutions ready for you to use. But how will your users reach all those destinations and where should they depart from? In this session we will take a look at how to build a solution that integrates information from NextGen portals and offers your users a starting point for their journeys bringing the most relevant information to their finger tips.
Collab365 - AngularJS & Office 365 Unified API : A match made in heaven!Sébastien Levert
This session will give the developers, IT Pro and Business Analysts a new perspective of the new Office 365 APIs that are now available. The integration with the Office 365 platform has always been a big challenge and this session will show how we can leverage this integration into Line Of Business applications. We will also discuss how we can develop software practices that will help the software development teams to use technologies (Javascript, AngularJS, REST, CSOM, etc.) to achieve business goals.
You will learn :
what are the Office 365 APIs used for.
why AngularJS is a time-saver technology for client-side development.
when to use SharePoint CSOM vs. Office 365 APIs.
why Azure Active Directory will become a central component of your Office 365 integration.
how Office 365 APIs can help your team be more productive.
Features Covered:
the Office 365 APIs (Files, Contacts, Mails, Graph, etc.)
the Azure Active Directory (for the Application registration process)
the App Launcher
the SharePoint-Hosted App Model
the CSOM SharePoint API
Identity and Access (AD), Azure and Office 365: Building a Single Page Application (SPA) with ASP.NET Web API and Angular.js using Azure Active Directory to Log in Users
Similar to Getting Started with the Office 365 API (20)
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie WellsRosie Wells
Insight: In a landscape where traditional narrative structures are giving way to fragmented and non-linear forms of storytelling, there lies immense potential for creativity and exploration.
'Collapsing Narratives: Exploring Non-Linearity' is a micro report from Rosie Wells.
Rosie Wells is an Arts & Cultural Strategist uniquely positioned at the intersection of grassroots and mainstream storytelling.
Their work is focused on developing meaningful and lasting connections that can drive social change.
Please download this presentation to enjoy the hyperlinks!
This presentation, created by Syed Faiz ul Hassan, explores the profound influence of media on public perception and behavior. It delves into the evolution of media from oral traditions to modern digital and social media platforms. Key topics include the role of media in information propagation, socialization, crisis awareness, globalization, and education. The presentation also examines media influence through agenda setting, propaganda, and manipulative techniques used by advertisers and marketers. Furthermore, it highlights the impact of surveillance enabled by media technologies on personal behavior and preferences. Through this comprehensive overview, the presentation aims to shed light on how media shapes collective consciousness and public opinion.
1. Getting Started with
the Office 365 API
Speaker: Bjoern H Rapp
15th November 2014
Host: Matthew Hughes
2. About me
Bjoern H Rapp
Blog: www.sharepointviking.com
Twitter: @bjoern_rapp
3. AGENDA
What are the Office 365 API’s?
How do Office 365 API’s work?
Setting up your dev environment
Start building your apps
Tools
Resources
5. How they work
Solution
Your App
.NET, js, HTML, Ruby, Java
fAzure IIS, Apache..
Dev env
Authentication
Your Dev Tools
f f f fXCode Eclipse /Android
Studio
Visual Studio REST
iOS O365 SDK
Android O365
SDK
VS O365 SDK
Data
Azure AD Single Sign-On (OAuth 2.0)
REST APIs
Files, Sites Mails, Contacts,
Calendars
Users and Groups
Azure AD
6. Setting up your Office 365 Dev
Environment
1
2
3
Get an Office 365 Developer Site
Set up Azure AD for your dev. Site
Get the Tools!
7. Get a Site.
If you already have an Office 365 dev site…
You are good to go!! Configuring Azure is next…
If you don’t have an Office 365 dev site
If you have an MSDN subscription
Redeem your Office 365 Dev Subscription benefit.
If you own one of the following plans
Midsize business, Enterprise E1, E3, E4 or K1, Education
A2, A3, A4 or Government, G1, G3, G4 or K1
Create a dev site within your existing subscription!
Start a free 30-days trial or buy a dev subscription
with 1 user license
9. 2. Set up Azure AD
I have a
tenant
I don’t
have a
tenant
1. Log in to your Azure Management portal
2. Add an association by using existing Active
Direcory Node
3. Remember to close and reopen
1. Log in to Office 365 Admin Center
2. Open a new tab and go to
https://account.windowsazure.com/Signup and
create a new Azure subscription
3. Verify there’s a directory node with your O365
tenant name
11. 3. Get the dev. tools
.NET (WIN
8.1 APPS,
WEB )
1. Install Visual Studio
2. Install the Office Developer Tools http://bit.ly/1dEXN1G
Get the Office 365 SDK for Android http://bit.ly/1fbsxqD
ANDROID
(ANDROID
APPS)
iOS (iPhone,
iPad Apps)
Get the Office 365 SDK for iOS (Preview) :
http://bit.ly/14ohQ6k
OR CALL THE REST API’s DIRECTLY USING YOUR LANGUAGE AND TOOL OF CHOICE
12. I have created my VS Project,
now what?
Add Office 365 API’s to your project
Choose Add > Connected Service from SM
Register your App
Sign in with your Office 365 Tenant Admin account
Select the Office 365 Service
Calendar, Contacts, Mail, Files, Sites, Users and Groups
Set the Permissions
Read
Full Access
Set App Properties
18. Xamarin
(http://xamarin.com/platform)
Create native iOS, Android and Windows Apps
using C#
New templates with support for Visual Studio
2015
Free edition available for Visual Studio
Community
20% discount for MSDN subscribers
I assume you basic knowledge with Visual Studio, Office 365, and that you have been working with
The Office 365 APIs are REST services that provide access to high-value data types from Office 365 services: mail, calendars, and contacts from Exchange Online; files and folders from SharePoint Online and OneDrive for Business; users and groups from Azure AD. And with the simplicity of REST, you don't need any specialized Exchange, SharePoint, or Azure AD knowledge to access these services.
The Office 365 APIs follow REST and OData 2.0 standards for data transport, and use the OAuth 2.0 standard for authentications and authorization.
Select the language, development platform, and hosting environment you want. Build using any web language, including JavaScript, HTML5, Python, Ruby, PHP, and ASP.NET. Use Visual Studio, Eclipse, Android Studio, XCode, or the IDE of your choice. Host your apps in Microsoft Azure or any cloud platform you choose.
Then, use single sign-on with Azure AD to authenticate your users, and let them access email, files, calendar, and user information, and the petabytes of data that are stored in Office 365.
Before you can create applications that use the Office 365 APIs, it's important to set up your Visual Studio environment. If you're using Visual Studio 2013, you can take advantage of the Office 365 API tools to access Office 365 right away.
To set up your development environment, perform the steps described in the slide above.
To register and authenticate your applications, you need to use Microsoft Azure Active Directory. This is where application and user account information is stored. To get access to Microsoft Azure Active Directory, you need a Microsoft Azure tenant. A Microsoft Azure tenant gives you access to the management portal in Microsoft Azure, where you can add users, roles, and apps.
Fortunately, when you sign up for an Office 365 subscription, such as your Developer Site, an Microsoft Azure tenant is automatically created and associated with that Office 365 subscription.
So, if you can have an existing Microsoft Azure tenant, you can associate your Office 365 Developer Site with it. If not, you'll need to create a new subscription to the Azure tenant that was created when you sign up for your Office 365 subscription.
If you have an Azure tenant
If you have an existing Azure tenant, you can associate that with your Office 365 subscription.
To associate an existing Azure tenant with your Office 365 subscription
Log on to the Microsoft Azure Management portal with your existing Azure credentials (for example, your Microsoft ID such as user@live.com), and navigate to the Active Directory node.
Choose the Active Directory node, then choose the Directory tab and, at the bottom of the screen, choose Add. On the dialog box, choose Use existing directory, select the check box, and choose the check mark in the lower right hand corner. This brings you back to the Azure Management Portal.
Log on with your Office 365 subscription information. You will be prompted whether to use your directory with Azure.
Choose continue and a screen comes up that confirms your action. Now, choose Sign out now.
Close the browser and reopen the portal. Otherwise, you will get an access denied error.
Log on again to your Azure subscription (for example, your Microsoft ID). Navigate to the Active Directory node and, under Directory, you should now see your Office 365 subscription.
If you don't have an Azure tenant
You can use the Azure tenant that was created when you created your Office 365 subscription to register and authenticate your apps. To access this underlying tenant from your Office 365 Admin Center, you'll need to create a subscription to your Azure tenant.
To create the Azure subscription to your Office 365 subscription
Log on to your Office 365 tenant and go to the Office 365 admin center.
In the same browser, open a new tab and sign in to Microsoft Azure by navigating to https://account.windowsazure.com/SignUp. You should log on with your Office 365 credentials.
Create a new subscription.
After you create your subscription, choose Portal.
The Azure Tour appears. You can view it, or choose X to close it.
You should now see all items in the Azure tenant. It lists a single directory with the name of your Office 365 tenant.
You have several options for developing with Office 365 APIs, based on the developer environment you choose, and the type of solution you're building:
Install Visual Studio and the Office 365 API tools to create .NET and hybrid (Xamarin and Apache Cordova) projects
Use the Android SDK for Office 365 to create Android apps
Call the Office 365 REST APIs directly using any REST-compatible development environment and language
Install Visual Studio and the Office 365 API tools
The quickest way to get started developing an app with the Ofiice 365 APIs is to use Visual Studio 2013 and the Office 365 API tools for Visual Studio, which enable you to access Office 365 services easily.
The Office 365 API tools include client libraries and UI enhancements to Visual Studio. The client libraries make it easier for you to interact with the Office 365 REST APIs from the device or platform of your choice by using libraries available for .NET Framework and JavaScript. The Visual Studio UI enhancements make it easy to add Office 365 services to your app projects.
For the Android you would typically need Android Studio or IDE’s like Eclipse in addition to Java Development Kits, and for iOS you would need an environment like XCode. Later on in this session I will show you some tools that enables you to use Visual Studio even for your
Add Office 365 APIs to your project
You add and configure Office 365 APIs by using the Services Manager in Visual Studio.
In the Solution Explorer, choose the project node to which you want to add an Office 365 service .
Right-click or press and hold the project node and choose Add > Connected Service.
At the top of the Services Manager dialog box, choose the Office 365 link, and then choose Register your app. Sign in with a tenant administrator account for your Office 365 developer organization.
This starts the process of registering your app in Microsoft Azure Active Directory, which allows your app to authenticate via OAuth.
After you've logged on to Office 365, a list of available Office 365 APIs services appears. You will see a list of Office 365 services.
At this point, the Permissions column to the right of each service is empty.
In the list:
Select the Office 365 service you want to add
Choose Permissions.
In the [Office 365 service] Permissions dialog:
Select the permissions your project requires
Choose Apply.
Choose App Properties in the Services Manager dialog.
If you want to make this sample application available to Office 365 organizations other than your developer organization:
Change the Make this app available to: setting to Multiple Organizations
Choose Apply.
Note It is not necessary to change this setting to test the application. However, users from your developer organization will bypass the user consent page after they sign in.
The Services Manager dialog now lists:
The service(s) you've selected to add to your project
The permissions for each service.
Choose OK.
At this point, Visual Studio adds the required NuGet packages to the project. The NuGet packages added vary based on the Office 365 services you added.
The tool also registers your web app in Microsoft Azure Active Directory behind the scenes, so you don't have to.
After you've added an Office 365 service to your project, you'll need to authenticate the app with Office 365 in order to gain access to your user's data. Authenticating your app includes three steps: creating the Office 365 discovery context, getting an access token, and then creating the appropriate client object for the Office 365 service you want to access.
Create the Office 365 discovery client
Getting an access token for Office 365
Creating the appropriate client object
Creating the Office 365 discovery client
Many of the endpoints that your application may need to call vary by user, such as the endpoints for the user's mailbox, calendar, and OneDrive site. To obtain the URLs of these endpoints, your application calls the Office 365 Discovery Service. Typically, this will be the first Office 365 service that your solution calls.
For more details about calling this service, see Discover service endpoints for your Office 365 app and Discovery Service APIs.
Getting an access token for Office 365
Your code can use the refresh token that it gets from Azure AD when it authorizes to the Discovery Service to get access tokens from Azure AD with a single round-trip.
Creating the client object to access the Office 365 services
Lastly, to actually access your user's Office 365 data, you'll need to create the appropriate client object in your code. The type of client object you create depends on the Office 365 API service you access.
For calendar, contacts, and email, create an Outlook Services client object
For files and sites, create a SharePoint client object
For user information, create an Azure AD client object
Xamarin is a set cross-platform development environment developed by the creators of Mono
With a C# shared codebase, developers can use Xamarin to write native iOS, Android, and Windows apps with native user interfaces and share code across multiple platforms.
Cordova is an Open Source Framework under the Apache Foundation. It is a set of device API’s that enables software programmers to build applications for mobile devices using JavaScript, HTML5, and CSS3, instead of relying on platform-specific APIs like those in iOS Android. Or Windows Phone[5] It enables wrapping up of HTML, CSS and Javascript code depending upon the platform of the device. It extends the features of HTML and Javascript to work with the device. The resulting applications are hybrid, meaning that they are neither truly native mobile application (because all layout rendering is done via web views instead of the platform's native UI framework) nor purely web-based (because they are not just web apps, but are packaged as apps for distribution and have access to native device APIs)
When using the Cordova APIs, an app can be built without any native code (Java, Objective-C, etc) from the app developer. Instead, web technologies are used, and they are hosted in the app itself locally (generally not on a remote http server).
And because these JavaScript APIs are consistent across multiple device platforms and built on web standards, the app should be portable to other device platforms with minimal to no changes.
Apps using Cordova are still packaged as apps using the platform SDKs, and can be made available for installation from each device's app store.
Cordova provides a set of uniform JavaScript libraries that can be invoked, with device-specific native backing code for those JavaScript libraries. Cordova is available for the following platforms: iOS, Android, Blackberry, Windows Phone, Palm WebOS, Bada, and Symbian.