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
Christian Glessner, Experts Inside
• Leitwolf @ Experts Inside
• SharePoint MVP since 2009
• Using Yammer Embed
• Open Graph API
• REST API
Why Yammer is unique
• Enterprise Social
• Best-in-class enterprise social networking service
• Rapid innovation
• Delivering improved features via an agile development
• Unique adoption model
• Viral model that appeals directly to end users
The social layer across all enterprise applications
CMS CRM HR ERP EVER EVOLVING
The Yammer Platform
Using Yammer Embed
Feeds for Groups, Topics, Users and Comments
What is a Yammer Embed?
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.
How does it work?
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.
Feed Description FeedType Use Case
My Feed My Feeds are where conversations are
delivered for Yammer users.
See My Feed
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
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
Click here for
An opportunity in a custom CRM
application, or a media detail page in a
digital asset management system.
Yammer Feed Types
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:
Use a Yammer Embed When:
• You have an HTML-based application such
as a portal, intranet, or business
• You can use it in SharePoint, but Yammer
has packaged integrations available for this
platform that may be more appropriate for
Don’t Use a Yammer Embed If:
• You need a custom publisher.
• You need to handle very specific
These situations are better handled better by
our REST API or Application Integration.
Yammer App Authentication with OAuth 2.0
OAuth 2.0 focuses on
client developer simplicity
while providing specific
authorization flows for
web applications, desktop
phones, and living room
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
3. App authentication - ensures that the user is
giving their information to your app and not
1. User Authentication
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:
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:
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.
• Create First Yammer App
• Create Test Token
• .NET MVC Client
Open Graph API
Connecting Yammer with the Social Graph
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.
Spotify leverages Open Graph in
Open Graph creates a powerful viral loop
The Open Graph protocol models Actor (User) activities
based on Actions and Objects.
Jimmy shared a file from
Sam voted up an idea in Spigit.
Michelle updated a record in
Arisa closed a ticket in Zendesk.
Yammer Open Graph API
The Open Graph Schema
Supported object types:
• page (default)
If the above actions or objects are not sufficient, you can even create custom actions to better
suit your needs.
• Using the REST API…
Open Graph REST API Embed
(presentation, integration, both)
Both Both Presentation
(inbound, outbound, both)
Inbound Both Outbound
Authentication Method(s) oAuth2 oAuth2 oAuth2
Skills Required HTTP/REST/oAuth/Open
Level of Effort High Medium Low
Typical Use Cases Pushing activity stories
from Applications to
Posting messages to
Yammer from your
Bring conversations from
Groups into a web
Key Considerations Don’t flood the activity
stream with robotic
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
• Yammer Success Center
• Out-of-the-box Integrations, Road map,
• 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
• Full GitHub repository of the source code
• Yammer API Developer
• Test drive Yammer’s API from a user friendly
• 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)