Yammer for developers


Published on

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • <script type="text/javascript" src="https://assets.yammer.com/assets/platform_embed.js"> <div id="feed" style="height:400px;width:500px"></div>///<referencepath="ShareCoffee/ShareCoffee.js"/>$(document).ready(function () {varhostUrl = ShareCoffee.Commons.getHostWebUrl();varhostTitle = ShareCoffee.Commons.getQueryStringParameter("SPHostTitle");yam.connect.embedFeed({container: "#feed",feedType: "open-graph",network: "expertsinside.com",config: {header: false,footer: false,showOpenGraphPreview: true },objectProperties: { url: hostUrl, type: "page", title: decodeURIComponent(hostTitle) } });});https://expertsinside.sharepoint.com/sites/cg-wcm
  • The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf
  • https://www.yammer.com/dialog/oauth?client_id=[:client_id]&redirect_uri=[:redirect_uri]https://www.yammer.com/dialog/oauth?client_id=hbOj1B3Z53EHJDJCMSbI7w&redirect_uri=https://yammer.comCode = WsHYGa4ejh17ci6iBrX9whttps://www.yammer.com/oauth2/access_token.json?client_id=hbOj1B3Z53EHJDJCMSbI7w&client_secret=XRuLPYirFNq70pb2Ls0e8B5Elxl3ZIc1yNiE8yx18k&code=WsHYGa4ejh17ci6iBrX9wACCESS TOKEN:cuHDMQChC50qdhSpjQwAFilehttps://expertsinside-my.sharepoint.com/personal/cg_expertsinside_com/_layouts/15/guestaccess.aspx?guestaccesstoken=vrfepGS6F8jNCBCdMi7yXTAyLTShJ1Ym0UsWEk8PuTk%3d&docid=090bb5c79ec13485f916985c71e837fe8
  • https://www.yammer.com/dialog/oauth?client_id=[:client_id]&redirect_uri=[:redirect_uri]https://www.yammer.com/dialog/oauth?client_id=hbOj1B3Z53EHJDJCMSbI7w&redirect_uri=https://yammer.com
  • https://www.yammer.com/dialog/oauth?client_id=[:client_id]&redirect_uri=[:redirect_uri]https://www.yammer.com/oauth2/access_token.json?client_id=[:client_id]&client_secret=[:client_secret]&code=[:code]https://www.yammer.com/dialog/oauth?client_id=[:client_id]&redirect_uri=[:redirect_uri]https://www.yammer.com/dialog/oauth?client_id=hbOj1B3Z53EHJDJCMSbI7w&redirect_uri=https://yammer.comCode = WsHYGa4ejh17ci6iBrX9whttps://www.yammer.com/oauth2/access_token.json?client_id=hbOj1B3Z53EHJDJCMSbI7w&client_secret=XRuLPYirFNq70pb2Ls0e8B5Elxl3ZIc1yNiE8yx18k&code=WsHYGa4ejh17ci6iBrX9wACCESS TOKEN:cuHDMQChC50qdhSpjQwA
  • https://www.yammer.com/dialog/oauth?client_id=[:client_id]&redirect_uri=[:redirect_uri]https://www.yammer.com/dialog/oauth?client_id=hbOj1B3Z53EHJDJCMSbI7w&redirect_uri=https://yammer.comCode = WsHYGa4ejh17ci6iBrX9whttps://www.yammer.com/oauth2/access_token.json?client_id=hbOj1B3Z53EHJDJCMSbI7w&client_secret=XRuLPYirFNq70pb2Ls0e8B5Elxl3ZIc1yNiE8yx18k&code=WsHYGa4ejh17ci6iBrX9wTOKEN:cuHDMQChC50qdhSpjQwAFilehttps://expertsinside-my.sharepoint.com/personal/cg_expertsinside_com/_layouts/15/guestaccess.aspx?guestaccesstoken=vrfepGS6F8jNCBCdMi7yXTAyLTShJ1Ym0UsWEk8PuTk%3d&docid=090bb5c79ec13485f916985c71e837fe8
  • Yammer for developers

    1. 1. Yammer for Developers Christian Glessner, Experts Inside SharePoint MVP
    2. 2. Christian Glessner • Leitwolf @ Experts Inside Germany • SharePoint MVP since 2009 • cg@expertsinside.com www.sharepointeurope.com
    3. 3. Agenda • Introduction • Using Yammer Embed • Authentication • Open Graph API • REST API www.sharepointeurope.com
    4. 4. Why Yammer is unique • Enterprise Social • Best-in-class enterprise social networking service • Rapid innovation • Delivering improved features via an agile development methodology • Unique adoption model • Viral model that appeals directly to end users
    5. 5. Activity Stream Private messaging Groups News feed Yammer 101
    6. 6. The social layer across all enterprise applications CMS CRM HR ERP EVER EVOLVING The Yammer Platform
    7. 7. Using Yammer Embed Feeds for Groups, Topics, Users and Comments www.sharepointeurope.com
    8. 8. What is a Yammer Embed? • Yammer Embed is a JavaScript-based widget that harnesses the power of your enterprise social platform by making Yammer available to users where they work online. • It provides a way to display content from Yammer in your own HTML-based app.
    9. 9. How does it work? www.sharepointeurope.com    1. It has a reference to the yam.js script file. 2. It has the initialization script for your instance of Embed with a static configuration. 3. It has a div tag for placement of the feed on your page. 9 </> *.JS
    10. 10. Feed Description FeedType Use Case My Feed My Feeds are where conversations are delivered for Yammer users. See My Feed example My Site homepage or workspace site. User Feed All the conversations posted by a specific user in Yammer. User Profile pages for users in a system directory. Topic Feed A feed of conversations that have been tagged with a topic in Yammer. Topic An event page on an intranet. Group Feed A feed of conversations that have been posted in a specified group. Group A team page on an intranet. Comment Feed Uses Yammer’s Open Graph API to facilitate conversation around an application object. Click here for more information An opportunity in a custom CRM application, or a media detail page in a digital asset management system. Yammer Feed Types 10
    11. 11. When to Use Yammer Embeds The situations below outline when you should use a Yammer Embed and when you might want to utilize other options for Yammer integration: 11 Use a Yammer Embed When: • You have an HTML-based application such as a portal, intranet, or business application. • You can use it in SharePoint, but Yammer has packaged integrations available for this platform that may be more appropriate for your needs. Don’t Use a Yammer Embed If: • You need a custom publisher. • You need to handle very specific business requirements. These situations are better handled better by our REST API or Application Integration.
    12. 12. Action Buttons
    13. 13. Demo • Embedding Feeds – JSFiddle – SharePoint App – WCM • Action Buttons
    14. 14. Authentication Yammer App Authentication with OAuth 2.0
    15. 15. OAuth 2.0 OAuth 2.0 focuses on client developer simplicity while providing specific authorization flows for web applications, desktop applications, mobile phones, and living room devices.
    16. 16. Authentication Flow 1. User authentication - ensures that the user is who they say they are. 2. App authorization - ensures that the user knows that they are allowing your app to access their data. 3. App authentication - ensures that the user is giving their information to your app and not someone else’s. www.sharepointeurope.com
    17. 17. 1. User Authentication www.sharepointeurope.com https://www.yammer.com/dialog/oauth? client_id=[:client_id] &redirect_uri=[:redirect_uri]
    18. 18. 2. App Authorization Once Yammer has successfully authenticated the user, the OAuth dialog will prompt them to authorize the app. If the user clicks “Allow”, your app will be authorized. The OAuth dialog will redirect the user’s browser via HTTP 302 to the redirect_uri with an authorization code: www.sharepointeurope.com http://[:redirect_uri]?code=[:code]
    19. 19. 3a. App Authentication Next, submit a GET on the OAuth Token Endpoint, passing in the authorization code you got above and your app secret which is available in the app that you registered. The endpoint is: www.sharepointeurope.com https://www.yammer.com/oauth2/access_token.json? client_id=[:client_id]&client_secret=[:client_secret] &code=[:code]
    20. 20. 3b. App Authentication Yammer will return an access token object as part of the response, which includes user profile information. From this object, parse out and store the “token” property. This token is long lived (years) and will be used to make subsequent API calls to Yammer. www.sharepointeurope.com
    21. 21. Demo • Create First Yammer App • Create Test Token • .NET MVC Client www.sharepointeurope.com
    22. 22. Open Graph API Connecting Yammer with the Social Graph
    23. 23. The Open Graph Protocol The Open Graph protocol enables any web page to become a rich object in a social graph. For instance, this is used on Facebook to allow any web page to have the same functionality as any other object on Facebook. www.sharepointeurope.com
    24. 24. Spotify leverages Open Graph in Facebook Open Graph creates a powerful viral loop
    25. 25. The Open Graph protocol models Actor (User) activities based on Actions and Objects. Jimmy shared a file from SharePoint. Sam voted up an idea in Spigit. Michelle updated a record in Dynamics. Arisa closed a ticket in Zendesk. Yammer Open Graph API
    26. 26. The Open Graph Schema 27 Supported object types: • page (default) • place • person • department • team • project • folder • file • document • image • audio • video • company Supported actions: • create • update • delete • follow • like If the above actions or objects are not sufficient, you can even create custom actions to better suit your needs.
    27. 27. Demo • Post a public link • Open Graph API
    28. 28. REST API Yammer provides a RESTful interface to the resources in the Yammer web interface www.sharepointeurope.com
    29. 29. REST API for… • Messages • Groups • Users • Relationships • Notifications • Suggestions • Subscriptions • Search • Autocomplete • Invitations • Networks www.sharepointeurope.com
    30. 30. Demo • Using the REST API… www.sharepointeurope.com
    31. 31. Summary Open Graph REST API Embed Approach (presentation, integration, both) Both Both Presentation Direction (inbound, outbound, both) Inbound Both Outbound Authentication Method(s) oAuth2 oAuth2 oAuth2 Skills Required HTTP/REST/oAuth/Open Graph HTTP/REST/oAuth HTML Level of Effort High Medium Low Typical Use Cases Pushing activity stories from Applications to Yammer Posting messages to Yammer from your application Bring conversations from Groups into a web page/application Key Considerations Don’t flood the activity stream with robotic messages Make sure authentication is enabled using oAuth Use embed for newsfeeds instead of the API Don’t have more than one embed on a particular page
    32. 32. Resources • Yammer Success Center • Out-of-the-box Integrations, Road map, Social Journey • Yammer Developer Network • API, Open Graph, Development Resources • Yammer Technical Sales • Technical Sales enablement group • Yammer Developer Network • External Network for developers from Microsoft and customers • Sched.do • Full GitHub repository of the source code • Yammer API Developer • Test drive Yammer’s API from a user friendly portal • Yammer Embed Widget Configurator • Paste ‘n play custom embed code • Yammer and SharePoint using .NET • Attend Steve and Cam’s Academy Live session to learn about integrating Yammer and SharePoint using .NET • Yammer Simple API (.NET)