Contents tagged with Office 365

  • SharePoint Team Sites are dead!

    Tags: Office 365, SharePoint, SharePoint Online, Exchange Online

    SharePoint Team Sites are dead, there you have it! The era when SharePoint Team Sites was the king of SharePoint and web based collaboration are over. SharePoint Team Sites are dead, I said it again. Ok, you might think this is a link bait, a scam or something else - it's not. This is how I foresee the future of online collaboration in SharePoint Online/Office 365.

    Team Sites are based on a decade old construct in SharePoint. They allow a great flexibility and extensibility for the end users, but…
    …it requires a lot of training
    …it drives a lot of support
    …it drives a lot of consultancy hours (yes, I am/was one of those)
    …historically upgrades are extremely expensive
    …[fill in your own here]
    …do the end-users really need that much power?

    So, what's a better option then? I'd say Office 365 Groups! Office 365 Groups has a lot of the features that we lack in Team Sites and it offers the simplicity that end-users requires from Team Sites in 95% (just made that figure up, but you get the point) of the cases.

    SNAGHTML6f3a7c[7]Office 365 Groups combines the best of the Office 365 services in one single place, and Office 365 Groups have done something the SharePoint team haven't ever achieved doing with Team Sites - integrate with the Outlook client. Office 365 Groups is a mash-up of:

    • An Exchange Online Inbox - that is you can send e-mail to the group. This is a killer feature in online collaboration. Yes, SharePoint 2013 had the Team Site Mailbox but we all know that feature didn't scale and to be frankly it sucked.
    • A SharePoint Online Document Library - all we need to share documents, what better tool for that than a SharePoint document library. Offline sync, version history, web-based editing with Office Online, sharing, recycle bin etc etc. Using SharePoint for what SharePoint originally was designed for…
    • An Exchange Online Calendar - a real calendar (compared to the one in SharePoint)
    • A OneNote Online Notebook - OneNote, nuff said
    • Conversations - yea, conversations and discussions and likes and what not (not based on Yammer, thank you very much).

     

    As you can see Office 365 Groups uses the best tools available in the Office 365 service for a specific purpose. It all integrates and works extremely well in the web based user interface and you can offline sync the documents and work with it in the Outlook 2016 client.

    Office 365 Groups also aligns very well with the NextGen Portals, Microsofts attempt to build killer solutions in Office 365. One of those NextGen Portals are Delve which helps you discover new and relevant information. Shortly Delve will start to recommend Office 365 Groups for you (announced at Ignite 2015) and Office 365 and the Office Graph will also be extended with really interesting collaboration analytics between groups (another awesome Ignite demo). We also will see a Office 365 Groups App for mobile devices (see public roadmap), Office 365 Groups will be integrated to CRM Online and more…

    The extensibility story for Office 365 Groups has just started. Unfortunately we are not allowed to modify content types and such in the document library (see wish list below). But Office 365 Groups has made it into the new Microsoft Graph/Unified Office 365 APIs and Azure AD Apps.

    For management of Office 365 Groups the story did not start well last fall, but we're continuously seeing new improvements. Such as the new naming policies for groups etc. I like it!

    Yes, there are exceptions and some rough edges here and there (see my wish list below) - but overall this is something your organization should adapt as soon as possible. It will take you one step closer the digital (modern) workplace and into the future of online collaboration!

    Office 365 Groups wish list

    Here are a couple of things that I think should be top priority for the product team. If and when these "issues" are solved I think we have a pretty robust and future-proof solution.

    • Supported management of the Document Library, so that you can for instance modify/add the content type and/or templates. We really need this for enterprise content management.
    • Some extensibility hooks for customizations
    • Better management of the Groups e-mail address
    • A task list
    • Integration with Azure AD Dynamic groups
    • Notifications/events when groups are created or group creation approval
    • Better discoverability, a better "Groups Portal"
    • An Everyone group - so that we get an All company feed and once and for all can shut Yammer down

  • What's new in the Office Roadmap - 2015-05-15

    Tags: Office 365

    Both Build and Ignite has passed and we finally have the first update on the Office Roadmap in a month. It's quite a few new interesting things in the pipe this time and but no new Yammer features :)

    Changes 2015-05-15

    Since the 15th of April the following items has changed on the Office Roadmap.

    Now Launched

    • Change copy/paste behavior in the Outlook Web App: brand new updates directly to production. Changing how mixed content (images and text) are pasted in OWA.
    • DLP in Office 365 to protect Externally classified content: from rolling out
    • Edit Office 365 profile details page update: now fully launched
    • Enhanced NDRs: from In Development
    • Increase Message Size limit to 150 MB: from In Development
    • Lync Web App support for Mac and Windows Chrome users: from Rolling Out
    • MDM for OneDrive for Business: From Rolling Out
    • Office 2013 client update to support passive authentication using SAML: from Rolling Out
    • Office 365 Groups : Dynamics CRM integration: A brand new feature to Office 365 Groups! And it's a good one. This new feature in CRM allows you to create Office 365 Groups to collaborate with team members that don't have access to CRM. Read more here.
    • Office 365 Groups: adding Like to Conversations: from In Development
    • Partner Admin Center New Customer List Filters: from Rolling Out
    • Recommend OneDrive for Business for Large Attachments: from In Development

    Rolling Out

    • First Release Select people: directly to production. One of the best new enhancements, announced at Ignite, that allows you to have First Release per user instead of per tenant.
    • Office 365 Groups : files improvements: new on the roadmap. Necessary improvements to Office 365 Groups, now if only content types were available in groups…
    • Office 365 Notification Pane: did they do this properly this time?
    • Office 365 Video Update: HTML5… we listened to your feedback…
    • SharePoint Online storage usage model: from in development, allows you to have "Auto" quotas
    • SharePoint Online uses Exchange Web Services to send mail: new kid on the block, will improve how the shared items e-mails are sent and perhaps not being classified as spam
    • SharePoint Online will start to transition to using TLS to send email securely in our datacenters: perhaps not the most exciting new feature, but a good one. Also a feature that will be available on-premises in SharePoint 2016
    • Skype for Business Online: from in development - just ye ole re-branding of Lync.
    • Save to OneDrive for Business: from in development. Save to OD4B directly from OWA (Outlook Web App, not Office Web Apps). (Updated since the original post)

    In Development

    • Custom Tiles: a new and highly requested feature. Once this one is rolling out you will be able to add links to the App Launcher
    • Exchange Online Advanced Threat Protection: Something new that will make all your Exchange admins excited. Read more.
    • Inline Service Health for Support Request Creation: new feature that supposedly should help you not submitting requests to Microsoft.
    • imageOffice 365 Groups: mobile app: The roadmap doesn't have much to say on this feature, but I guess the title says it all. Oh, did I hear someone say that Team Sites are dead?
      Update since the original post: "We'll be delivering a mobile app that surfaces Outlook Group conversations and files across iOS, Android and Windows Phone by the end of 2015. "
    • Organization support card: new feature that allows you to add you own contact support details in the help pane of Office 365
    • Proactive notification of Outlook version: admins will now know if you are lazy and don't update Outlook…

    Moved off to the list into Previously released

    • Clutter control and admin capabilities
    • Compliance Center for Office 365
    • DKIM Outbound for Exchange Online Protection
    • Exchange Transport Rule: Recipient Notification Action
    • Improved Yammer thread visuals with Card View for iOS/Android
    • Lync Online Active User Activities Report
    • MAPI over HTTP for Outlook 2013 and Exchange Online
    • New preview features for Power BI
    • Office 365 Admin App Update
    • Office 365 Groups Notebook
    • OneDrive for Business Sync for Mac
    • Outlook Web App options update
    • Removing Deleted Items Retention Period
    • RMS support for document libraries
    • Sign-In Page Branding and Self Service Password Reset
    • Skype for Business desktop application update
    • Touch Design Enhancements for SharePoint Online and OneDrive for Business
    • Yammer groups prioritization
    • Yammer support for Android Wear devices

  • What's new in the Office Roadmap - 2015-04-15

    Tags: Office 365

    It was a couple of weeks since last, but this time we got some major updates on the Office Roadmap, following the recent announcement on the Office blogs.

    Changes 2015-04-15

    Since the 26th of March, these are the changes. Quite a few of them…

    Now Launched

    • Bulk Updates in Project Online: Directly to launched status
    • Improvements to Demand Management in Project Online: Another Project thingie, directly to launched
    • Changing support for LinkedIn in Outlook: LinkedIn connections in Outlook no longer supported, another that went directly to launched
    • Clutter Control and admin capabilities: from rolling out
    • Document deletion policies for OneDrive for Business and SharePoint Online: A really interesting and important feature, now live
    • Lync Online Active User Activities Report: previously rolling out
    • MAPI over HTTP for Outlook 2013 and Exchange Online: one of the oldest things on the roadmap now rolling out
    • More control over Sent Items for Shared Mailboxes: from in development
    • New preview features for Power BI: from rolling out
    • Option for Passwords to Never Expire: new on the list the last time, but now launched
    • Removing Deleted Items Retention Period: from in development. This one is a huge one!

    Now Rolling out

    • About Me Update and New Authoring Tool: Big news yesterday on the Office Blogs. From In development.
    • Lync Web App support for Mac and Windows Chrome users: from in development. Everyone is now invited to the party!
    • MDM for OneDrive for Business: Another great OneDrive feature now rolling out
    • Mobile Device Management: Changed name from "Mobile Device Management for Office 365" to "Mobile Device Management". From In Development.
    • NDR backscatter protection: more Exchange goodies, new on the list
    • Office 365 Groups: improving visibility and management: new on the list. Finally some improvements in this feature for enterprises. We might not need to turn it off at every client anymore.
    • Public Folder calendar and contact access in OWA: from in development
    • Skype for Business desktop application update: New Skype for Business is now rolling out since yesterday.

    In Development

    • Evolving the Outlook Web App options page: OWA is evolving. New on the list
    • Improved image attachment viewing in Outlook Web App: OWA team is on fire. New on the list
    • Optimize File Picker in Outlook Web App: Keep it coming OWA team! New on the list
    • Recommend OneDrive for Business for Large Attachments: Go OWA! New on the list.
    • Save to OneDrive for Business: Speechless! New on the list
    • Storage and file upload improvements for Sites and OneDrive for Business: Yay! Let's upload those big video files… New on the list
    • Office 365 Groups: adding Like to Conversations: Ooops. This was just rolling out the other week - back to the drawing board?
    • Office 365 Help pane: A new and better way to introduce features for the end-user. I like it. New on the list
    • Office 365 Notification pane: Another Ooopps. This was also previously Rolling out, with mixed feelings in the community. Better make it work and look good before launching…
    • Task Notifications in Project Online: Another new Project thingie

    Moved off the list into Previously released

    • eDiscovery Center Scale Increase
    • My apps for Office 365 app launcher
    • Office 365 Admin Center for Business
    • Office 365 ISO 27018 Privacy Compliance
    • OneNote Staff Notebook for Education
    • Outlook for iOS & Android
    • Partner admin mobile app
    • PIN lock and other updates for Outlook for iOS & Android
    • Quarantine Bulk Release
    • RMS Departmental Templates

    No longer at the list at all

    • Forms on SharePoint Lists - bye bye, for good?

     

    Phew! Good Job Microsoft!

  • What's new in the Office Roadmap - 2015-03-26

    Tags: Office 365, Yammer, Delve

    Here we go, another round of updates of the Office Roadmap. Don't we love them! And sometimes they roll out even before the roadmap is updated ;-)

    Changes 2015-03-26

    These are the change since yesterday.

    Now Launched

    • Office 365 Admin App Update: Directly to launched status

    Features now rolling out

    • Office 365 Groups: adding Like to Conversations: New stuff on the roadmap. Seems like the Office 365 (Exchange) team is building a whole new Yammer…
    • Notifications...Office 365 Notification Pane: (from development) This feature seems to cause some disturbance in the force. It's rolling out, but it seems like it is just half finished… It does not (at the time of writing this) work and the user experience is…confusing.
      Worth mentioning here is that it is rolling out for Groups to start with (something that was changed today as well from yesterday ;-)
    • Option for Passwords to Never Expire: (new on the list) Allows admin to use the UI to configure this rather than only PowerShell
    • Tighter Yammer Integration with Delve: (new on the list) More Yammer in Delve. Why not more Groups in Delve?

    Features now In Development

    • Office 365 Setup Wizard: (new on the list) The replacement for the basic and advanced setup options. The wizard will include migration from on-premises, Google Apps and more! Really neat!

  • What's new in the Office Roadmap - 2015-03-25

    Tags: Office 365

    Another day with some changes in the Office Roadmap, and some really interesting ones actually!

    New Office 365 Profile PageChanges 2015-03-25

    These are the changes since last time.

    Now launched

    • Compliance Center for Office 365: From rolling out. Now no one can be less compliant than anyone else, or…
    • Office 365 Groups Notebooks: Coming from nowhere direct to launched. Each Office 365 Group now has a OneNote Notebook.

    Features now rolling out

    • Edit Office 365 profile details page update: Another newcomer on the list, only this one didn't make it directly to production :).  By clicking on the Gears in the upper-right corner, choosing Office 365 Settings, then choosing Me you will (if your tenant has this feature rolled out) find the new responsive page (https://portal.office.com/profile)

  • SharePoint Online and Azure AD Dynamic Groups

    Tags: Azure AD, SharePoint Online, Office 365

    One very common requirement in SharePoint, and other portal solutions for that matter, is to have the possibility to target content to a dynamic audience of users and even secure information based on dynamic rules. Traditionally this has been done with Audiences in SharePoint. Audience is a dynamic set of users that is compiled, usually once a day, and at compile time the rules of the Audience is evaluated. A SharePoint Audience is used to target information, but cannot be used to protect content - ie as a security group.

    The Azure Active Directory released a new feature the other week, called Dynamic Membership, which is a very similar feature to the SharePoint Audience feature. But, does it work with SharePoint Online? Let's have a look!

    Enabling Dynamic Groups in Azure AD

    Delegated Group ManagementFirst of all we need to enable Dynamic Membership in Azure Active Directory. To do this you need to be an Azure AD admin and you must have Azure Active Directory Premium subscription, and also the administrator you're logging in with must have an Azure AD Premium license assigned to him. Once you have the licensing sorted out you need to enable Delegated Group Management. This is done in the Azure Portal under Azure AD > Configure.

    Creating a Dynamic Group

    When you've enabled the Delegated Group Management you can create a new group or configure an existing group in Azure AD. Remember if you change an already existing group to dynamic that group will loose all members. Click on the created or already existing group and choose the Configure tab. On that tab you can enable Dynamic Memberships. When you do that the screen changes into an interface where you can specify the rules; either through a simple guide or using a more advanced syntax.

    In the screenshot below you can see that we have a group called "CVP" (Corporate Vice Presidents) and we would like everyone with the term CVP in their title to be a part of this group. Click Save when you are done with your configuring of the dynamic group.

    Dynamic Memberships

    To create the group we can use most of the Azure AD attributes. Note that the SharePoint Online user profile specific attributes cannot be used, so there are still some reasons to use SharePoint Audiences.

    Group memberships are almost immediate. You might have to wait a minute or two when you do changes. There is no way to force a recalculation of the group (as far as I know).

    Does it work in SharePoint Online?

    The final test - can I now use this dynamic group in SharePoint Online (Office 365). The answer is YES! The newly created dynamic security group is immediately available for usage in SharePoint Online.

    Dynamic Groups in SharePoint Online

    Summary

    Dynamic Groups in Azure AD is a really great feature. We can use it in SharePoint Online, Office 365 and even our custom applications to provide a better way to control security or target information. Although it requires you to have an Azure AD Premium subscription this is just one those small features that should make you consider that upgrade!

  • What's new in the Office Roadmap - 2015-03-19

    Tags: Office 365, Yammer, Exchange Online

    Some small but interesting additions on the roadmap today.

    Changes 2015-03-19

    New stuff on the roadmap

    • Yammer support for Android Wear devices: (Directly to Launched) Yammer on your wrist! Ok, where's the Microsoft Band app?
    • Enhanced NDRs: (In Development) Microsoft will now help you understand the cause and reason of NDRs in a much easier way.
    • ExpressRoute for Office 365: (In Development) You want your own redundant fat pipe to the Office 365 Data Centers - then this is your feature. Will be launched this fall.

  • What’s new in the Office Roadmap – 2015-03-13

    Tags: Office 365, SharePoint Online, Yammer, Exchange Online, OneDrive

    RoadmapIt’s not easy to keep up on what is happening in the Office and Office 365 world. Everything is changing so fast. Fortunate for us Microsoft and the Office product group has created the Office Roadmap site (http://office.com/roadmap) with all (almost at least) the details on what is in development and rolling out etc. It became quite famous the other week when the new forms solution went from In Development to Cancelled.

    Unfortunately it is quite hard to stay up to date on what’s changing in the Roadmap, and until Microsoft provides us with better details with regards to this, I thought that I could help out. Actually a while back I built a PowerShell script that automatically notifies me of any changes to the Roadmap – and why keep that a secret?

    I’ll try to blog the changes as soon as I discover them, and I’ll add my personal thought on the change…

    Changes 2015-03-13

    (Sorry, about the wrong date at the first edition of this post...)

    These are the changes as of today and I divide them into a couple of sections

    New stuff on the roadmap

    • AzureAD sync for Yammer: (In Development) We’re getting there
    • Clutter for your inbox on by default: (In Development) I don’t generally like stuff turned on by default, but this might be an exception
    • Office 365 ProPlus user activation management: (In Development) looking forward to this!
    • OneNote Staff Notebook for Education: (Launched) Brand new addition to the roadmap
    • Quarantine Message Body Preview: (In Development)

    Now launched

    • Exchange Transport Rule: Recipient Notification Action: From In Development
    • Improved Yammer thread visuals with Card View for iOS/Android: From In Development
    • OneDrive for Business Sync for Mac: Wonder if we’ll see the OD4B app on the fancy watch?
    • Outlook Web App options update:
    • PIN lock and other updates for Outlook for iOS & Android: directly to launched
    • Quarantine Bulk Release: Another direct to launch feature
    • RMS support for document libraries: From In Development, awesome stuff!
    • Touch Design Enhancements for SharePoint Online and OneDrive for Business

    Features now rolling out

    • Compliance Center for Office 365: Went from In development to rolling out
    • DLP in Office 365 to protect Externally classified content: Now rolling out
    • eDiscovery Center Scale Increase: Went directly from In development to Launched
    • Partner Admin Center New Customer List Filters: From In development.
    • Partner admin mobile app: From In Development
    • Workload-specific admin roles: From In Development. This is the best news this time! Finally!
    • Yammer groups prioritization: From In Development

    Other changes

    • SharePoint Online storage usage model: Moved from Rolling Out to In Development?

    Moved off the list, into the previously released bucket

    • Enhanced Bulk Mail Protection for Exchange Online Protection
    • Group Search in Yammer
    • Groups in Office 365 for Outlook Web App and OneDrive for Business
    • New wave of Yammer web and mobile language localization updates
    • Office 365 IRS 1075 Compliance Support
    • Office 365 Message Encryption- Apps for iOS and Android
    • Office 365 services hosted from Microsoft Japan datacenters
    • Office 365 sign-in for Yammer
    • OneDrive for Business for Office 365 ProPlus subscription plans

  • SharePoint Online: App Only policy PowerShell tasks with ACS

    Tags: SharePoint, Office 365, PowerShell, Apps

    Here’s a little nugget that I’ve planned to blog about for some time, that I needed today for a small task. I needed to do a background job to SharePoint Online that at a scheduled interval downloads list data, process them and optionally updates some data in my site. This can of course be done by creating an executable storing username and password combos, and with the help of the TokenHelper.cs class from the App for SharePoint Web Toolkit NuGet package and some stored username and password combos we can make the Auth pieces quite easy. I don’t like that approach. There’s two big drawbacks with that approach. The first one is storing the username and password – we can solve that with an AppOnly policy, which I blogged about in the SharePoint 2013: Using the App Only policy and App Principals instead of username and password combos post. The second issue is that I very much prefer to script these kind of tasks, it makes it more flexible. Problem with that approach is that we need to manually do the Auth pieces. But from now on you just copy and paste from this post.

    Creating the App Principal

    In order to create our PowerShell script we need to create an App for it. This step is exactly the same as we did in the blog post mentioned above. But let’s repeat it. Note! I do use the traditional way of registering apps in this scenario using ACS – I do not use an Azure AD app. The reason for this is I want every Site Collection admin to be able to script like this. Azure AD apps requires way to much permissions for the normal user.

    imageIn your site collection, navigate to /_layouts/15/appregnew.aspx. Click on both Generate buttons, so that you get one Client Id and one Client Secret. Next enter a Title, an App Domain and the Redirect URI. The App Domain and Redirect URI can be basically anything in this scenario. Then click Create to create the App Principal. On the next screen you will get all the details of your App. Copy and paste that data so you don’t loose it.

    Next head on over to /_layouts/15/appinv.aspx. Paste your Client Id in the App Id (Microsoft has never been good in naming conventions) text box and click Lookup. This will retrieve the rest of the app details. Since we will not have any UI or install any App we need to manually ask for permissions and then grant the permissions. What we do is that we create a permission request XML. Depending on your requirements your XML may be different from the one below. The following permission request XML asks for Full Read permissions on the whole web.

    <AppPermissionRequests AllowAppOnlyPolicy="true">
      <AppPermissionRequest
        Scope="http://sharepoint/content/sitecollection/web"
        Right="Read"/>
    </AppPermissionRequests>

    Note the AllowAppOnlyPolicy=”true” attribute – that one is the key to allowing the App to run without username and password. Once you paste the XML into the permission request XML textbox and then click on Create. You will see the Trust screen for your app. Make sure the permission request is what you expect and if so, click on Trust it!.

    Auth in PowerShell

    Now, let’s get to the core of this post and let’s create a PowerShell script that uses this app to read items from a list. I split it up in a few different parts to make it easier to follow. In the end of the post you will get a link to the full code sample.

    Defining some constants

    Let’s start by defining some constants:

    $clientId = "16119847-8ac7-4a3a-a2e5-18debd9fc9d2"
    $secret = "KuZj5UD22oy2.....=";
    $redirecturi = "https://localhost"
    
    $url = "https://tenant.sharepoint.com/sites/thesite/"
    $domain = "tenant.sharepoint.com"
    $identifier = "00000003-0000-0ff1-ce00-000000000000"
    
    

    The $clientId, $secret and $redirecturi are copied directly from the results of my app registration. The $url parameter is the URL of the site where I registered the app, and $domain is just the server part of that URL. Finally the $identifier is a static Guid value, which represents SharePoint (Exchange, Lync, Workflow etc has their own Id’s).

    Retrieving the Realm

    The next step is to retrieve the Realm or Tenant Id. You might already know this or you might just run these commands once and store it as a static variable.

    $realm = ""
    $headers = @{Authorization = "Bearer "} 
    try { 
        $x = Invoke-WebRequest -Uri "$($url)_vti_bin/client.svc" -Headers $headers -Method POST -UseBasicParsing
    } catch {
        #We will get a 401 here
          $realm = $_.Exception.Response.Headers["WWW-Authenticate"].Substring(7).Split(",")[0].Split("=")[1].Trim("`"")
    }
    

    What we do here is to send a request to the client.svc endpoint and actually expect to get thrown a 401 back. When we get the 401 we’ll locate the WWW-Authenticate headers and retrieve the Realm property. Yea, that PoSh line could be a bit more prettier and failsafe, but it works on my machine.

    Retrieving the access token

    When we have the realm we can create the authorization code. This is how we combine all our variables into an authorization code:

    [System.Reflection.Assembly]::LoadWithPartialName("System.Web") | Out-Null
    $body = "grant_type=client_credentials"
    $body += "&client_id=" +[System.Web.HttpUtility]::UrlEncode( $clientId + "@" + $realm)
    $body += "&client_secret=" +[System.Web.HttpUtility]::UrlEncode( $secret)
    $body += "&redirect_uri=" +[System.Web.HttpUtility]::UrlEncode( $redirecturi)
    $body += "&resource=" +[System.Web.HttpUtility]::UrlEncode($identifier + "/" + $domain + "@" + $realm)
    

    Let’s walk this through. First of all I load the System.Web assembly, if you run this as a scheduled task this assembly is not loaded in your app domain, compared to when running it in PowerShell ISE for instance, and we need that assembly for some encoding.

    The actual authorization code starts with a grant_type which we set to the static variable of client_credentials, which means that we do not pass any user credentials or refresh tokens. Client_Id is not exactly the same Client Id as above, here we need to append “@” and the realm to scope the request to our tenant. The Client secret and redirect Uri is the same as when creating the app. Finally we have the resource token which is a combination of the SharePoint identifier, the domain and the realm. Note that if you’re targeting the anything in a Personal Site, you not only have to update the $url variable but also the $domain variable.

    We send all this data to the Azure Access Control Services (ACS), remember we did not use Azure AD, endpoint like this:

    $or = Invoke-WebRequest -Uri "https://accounts.accesscontrol.windows.net/$realm/tokens/OAuth/2" `
        -Method Post -Body $body `
        -ContentType "application/x-www-form-urlencoded"
    $json = $or.Content | ConvertFrom-Json
    
    When invoking the endpoint, using our authorization code above, we will get a JSON formatted string back. We convert this string into an object using ConvertFrom-Json.

    Use the access token

    Finally we can use the result from the ACS endpoint and get our access token which we’ll pass into the REST end point (as an Authorization Bearer token) of the site where we want to do operations.

    $headers = @{
        Authorization = "Bearer " + $json.access_token;
        Accept ="application/json"
    } 
    
    Invoke-RestMethod -Uri "$($url)_api/lists/GetByTitle('Documents')/Items" -Method Get -Headers $headers
    

    Summary

    That wasn’t to hard right? All we needed to know was the basic process of OAuth 2.0 and know how to create and pars the requests and responses. The full code sample can be found here: https://gist.github.com/wictorwilen/db67725a66a3e40789e3

  • Summing up the year of 2014 and embracing 2015

    Tags: Personal, SharePoint, Microsoft Azure, Office 365, SharePoint 2013

    The time has come for me to do, as I’ve done now for eight years (2013, 2012, 2011, 2010, 2009, 2008, 2007 and 2006), my annual post to sum up the year. It is always fun to look back to what happened the past 12 months. This past year has been a somewhat “in-betweeners” year.

    We (me, my clients, colleagues etc.) are standing on the edge of something big and the bridge over to the other side is really, really long. Some hesitate to pass the bridge, thinks it is to steep down, some people are running across it in fear, some take it just easy and some pass it half-ways and then stalls there not knowing which direction to go. Microsoft has already passed the bridge to the other side, they ran as fast as they could. But, they dropped so many things on the way over, things that I and others need to pick up and fix and very often even remind Microsoft that they dropped it at all!

    Confusing – yes, stressing – hell yea, annoying – yup, new opportunities – oh YEA, wanting to go back – nope!

    Writing

    I think I hit an all-time low in blog postings this year. Not that it has been so little to write, rather that I’ve been having to little time. I have a bunch of posts in the works, that never has been published, due to various reasons.

    According to my telemetry this is what you peeps liked this year:

    I’m really glad that the last two of those posts ended up that high. Really liked working those scenarios out.

    Speaking

    I’ve been fortunate to be invited to a number of conferences the past year as well. The highlight of course is the SharePoint Conference 2014, where I had a total of three sessions. The most awesome experience from that conference was when the room after one of my sessions were empty and people stayed for an hour and a half just asking questions!

    See you in May at the new Microsoft Ignite conference. You can keep up to date on my past and future presentations on this page.

    MVP

    For the fifth time I was awarded the Microsoft MVP Award for my community contributions. Always an honor and passing the five year mark was a bit special.

    Predictions

    Each year I try to predict what is going to happen to us and our business in the future. Last year I talked a lot about SharePoint being a service (six years after the SharePoint Services announcement at PDC08), Azure dominating the cloud space and Microsoft focusing everything on Services. SharePoint may not yet be dead, this product has more lives than a cat. Azure is still growing faster than I can keep up with and I like it! And the Services piece – I think this is the most important of all my predictions last year. Microsoft is focusing on owning the services and the data – the device, product etc. is not the top prio. Take a look at the Microsoft Band – an awesome device but the service behind it is what makes the big difference, no other vendor is even close to competing in that space.

    So, 2015, what will happen? I think I stick to my Services, services, services prediction. 2015 is all about the services! I’ll leave it to that. If you don’t understand how the services will change our business you better look for a career change.

    What’s next?

    I have to admit that 2014 was not one of my favorite years, due to multiple reasons. I’ve been pretty tired of this whole “SharePoint & Office 365” situation and it has taken me some deep reflections and analysis to get my inspiration back. But 2015 will be a really interesting year. Too keep you on the hook a little bit more, head back to this blog on Friday!

    Happy New Year!

    I whish all of you a Happy New Year and I hope that your 2015 will be an awesome ride!

About Wictor...

Wictor Wilén is a Group Manager and Collaboration Lead working at Avanade. Wictor has achieved the Microsoft Certified Architect (MCA) - SharePoint 2010, Microsoft Certified Solutions Master (MCSM) - SharePoint  and Microsoft Certified Master (MCM) - SharePoint 2010 certifications. He has also been awarded Microsoft Most Valuable Professional (MVP) for six consecutive years.

And a word from our sponsors...

SharePoint 2010 Web Parts in Action