SlideShare a Scribd company logo
1 of 32
Yammer for
Developers
Christian Glessner, Experts Inside
SharePoint MVP
Christian
Glessner
• Leitwolf @ Experts Inside
Germany
• SharePoint MVP since 2009
• cg@expertsinside.com
www.sharepointeurope.com
Agenda
• Introduction
• Using Yammer Embed
• Authentication
• Open Graph API
• REST API
www.sharepointeurope.com
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
Activity Stream
Private
messaging
Groups
News feed
Yammer 101
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
www.sharepointeurope.com
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.
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
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
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.
Action Buttons
Demo
• Embedding Feeds
– JSFiddle
– SharePoint App
– WCM
• Action Buttons
Authentication
Yammer App Authentication with OAuth 2.0
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.
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
1. User Authentication
www.sharepointeurope.com
https://www.yammer.com/dialog/oauth?
client_id=[:client_id]
&redirect_uri=[:redirect_uri]
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]
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]
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
Demo
• Create First Yammer App
• Create Test Token
• .NET MVC Client
www.sharepointeurope.com
Open Graph API
Connecting Yammer with the Social Graph
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
Spotify leverages Open Graph in
Facebook
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
SharePoint.
Sam voted up an idea in Spigit.
Michelle updated a record in
Dynamics.
Arisa closed a ticket in Zendesk.
Yammer Open Graph API
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.
Demo
• Post a public link
• Open Graph API
REST API
Yammer provides a RESTful interface to the resources in the
Yammer web interface
www.sharepointeurope.com
REST API for…
• Messages
• Groups
• Users
• Relationships
• Notifications
• Suggestions
• Subscriptions
• Search
• Autocomplete
• Invitations
• Networks
www.sharepointeurope.com
Demo
• Using the REST API…
www.sharepointeurope.com
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
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)

More Related Content

What's hot

Civil Engineering – Oldest Yet A Highly Sought After Career Choice in India
Civil Engineering – Oldest Yet A Highly Sought After Career Choice in IndiaCivil Engineering – Oldest Yet A Highly Sought After Career Choice in India
Civil Engineering – Oldest Yet A Highly Sought After Career Choice in IndiaAnkur Tandon
 
SAP S/4HANA Service Release 2022 - Ein Überblick
SAP S/4HANA Service Release 2022 - Ein ÜberblickSAP S/4HANA Service Release 2022 - Ein Überblick
SAP S/4HANA Service Release 2022 - Ein ÜberblickIBsolution GmbH
 
PETROJET Training Certificate
PETROJET Training CertificatePETROJET Training Certificate
PETROJET Training CertificateIslam Ahmed
 
certificado de licenciatura
certificado de licenciaturacertificado de licenciatura
certificado de licenciaturaMateus Zandamela
 
Chatbots in 2017 -- Ithaca Talk Dec 6
Chatbots in 2017 -- Ithaca Talk Dec 6Chatbots in 2017 -- Ithaca Talk Dec 6
Chatbots in 2017 -- Ithaca Talk Dec 6Paul Houle
 
La digitalisation du rapport annuel
La digitalisation du rapport annuelLa digitalisation du rapport annuel
La digitalisation du rapport annuelVanksen
 

What's hot (8)

Civil Engineering – Oldest Yet A Highly Sought After Career Choice in India
Civil Engineering – Oldest Yet A Highly Sought After Career Choice in IndiaCivil Engineering – Oldest Yet A Highly Sought After Career Choice in India
Civil Engineering – Oldest Yet A Highly Sought After Career Choice in India
 
SAP S/4HANA Service Release 2022 - Ein Überblick
SAP S/4HANA Service Release 2022 - Ein ÜberblickSAP S/4HANA Service Release 2022 - Ein Überblick
SAP S/4HANA Service Release 2022 - Ein Überblick
 
PETROJET Training Certificate
PETROJET Training CertificatePETROJET Training Certificate
PETROJET Training Certificate
 
certificado de licenciatura
certificado de licenciaturacertificado de licenciatura
certificado de licenciatura
 
318 pakleni izazov
318  pakleni izazov318  pakleni izazov
318 pakleni izazov
 
Libro examen radioaficionado
Libro examen radioaficionadoLibro examen radioaficionado
Libro examen radioaficionado
 
Chatbots in 2017 -- Ithaca Talk Dec 6
Chatbots in 2017 -- Ithaca Talk Dec 6Chatbots in 2017 -- Ithaca Talk Dec 6
Chatbots in 2017 -- Ithaca Talk Dec 6
 
La digitalisation du rapport annuel
La digitalisation du rapport annuelLa digitalisation du rapport annuel
La digitalisation du rapport annuel
 

Similar to Yammer for developers

Biwug1903 yammer-development
Biwug1903 yammer-developmentBiwug1903 yammer-development
Biwug1903 yammer-developmentBIWUG
 
Build your own yammer app @ Collab365
Build your own yammer app @ Collab365Build your own yammer app @ Collab365
Build your own yammer app @ Collab365Alexander Meijers
 
SPCA2013 - Yammer and SharePoint Happily Married
SPCA2013 - Yammer and SharePoint Happily MarriedSPCA2013 - Yammer and SharePoint Happily Married
SPCA2013 - Yammer and SharePoint Happily MarriedNCCOMMS
 
Yammer SDK SPSUK
Yammer SDK SPSUKYammer SDK SPSUK
Yammer SDK SPSUKWes Hackett
 
O365con14 - a developer jam with yammer
O365con14 - a developer jam with yammerO365con14 - a developer jam with yammer
O365con14 - a developer jam with yammerNCCOMMS
 
Salesforce zoom integration
Salesforce zoom integrationSalesforce zoom integration
Salesforce zoom integrationsampat786
 
SPEvo 2015 Yammer deep dive
SPEvo 2015 Yammer deep diveSPEvo 2015 Yammer deep dive
SPEvo 2015 Yammer deep diveWes Hackett
 
http://fr.slideshare.net/TechnetFrance/mod305-45116527
http://fr.slideshare.net/TechnetFrance/mod305-45116527http://fr.slideshare.net/TechnetFrance/mod305-45116527
http://fr.slideshare.net/TechnetFrance/mod305-45116527Microsoft Technet France
 
La collaboration dans Exchange : comparaison on premises et online
La collaboration dans Exchange : comparaison on premises et onlineLa collaboration dans Exchange : comparaison on premises et online
La collaboration dans Exchange : comparaison on premises et onlineMicrosoft Décideurs IT
 
Share point fest presentation v3
Share point fest presentation v3Share point fest presentation v3
Share point fest presentation v3Bill Ryan
 
Identity Management for Your Users and Apps: A Deep Dive on Amazon Cognito - ...
Identity Management for Your Users and Apps: A Deep Dive on Amazon Cognito - ...Identity Management for Your Users and Apps: A Deep Dive on Amazon Cognito - ...
Identity Management for Your Users and Apps: A Deep Dive on Amazon Cognito - ...Amazon Web Services
 
SharePoint 2013 Social yammer queport integration
SharePoint 2013 Social   yammer queport integrationSharePoint 2013 Social   yammer queport integration
SharePoint 2013 Social yammer queport integrationRagnar Heil
 
Emerging Technologies: Heroku for ISVs (October 13, 2014)
Emerging Technologies: Heroku for ISVs (October 13, 2014)Emerging Technologies: Heroku for ISVs (October 13, 2014)
Emerging Technologies: Heroku for ISVs (October 13, 2014)Salesforce Partners
 
SRV315 Building Enterprise-Grade Serverless Apps
 SRV315 Building Enterprise-Grade Serverless Apps SRV315 Building Enterprise-Grade Serverless Apps
SRV315 Building Enterprise-Grade Serverless AppsAmazon Web Services
 
Detailed Technical Portfolio
Detailed Technical PortfolioDetailed Technical Portfolio
Detailed Technical PortfolioTahirMustafa
 
Identity and access control for custom enterprise applications - SDD412 - AWS...
Identity and access control for custom enterprise applications - SDD412 - AWS...Identity and access control for custom enterprise applications - SDD412 - AWS...
Identity and access control for custom enterprise applications - SDD412 - AWS...Amazon Web Services
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsShailen Sukul
 

Similar to Yammer for developers (20)

Biwug1903 yammer-development
Biwug1903 yammer-developmentBiwug1903 yammer-development
Biwug1903 yammer-development
 
Build your own yammer app @ Collab365
Build your own yammer app @ Collab365Build your own yammer app @ Collab365
Build your own yammer app @ Collab365
 
SPCA2013 - Yammer and SharePoint Happily Married
SPCA2013 - Yammer and SharePoint Happily MarriedSPCA2013 - Yammer and SharePoint Happily Married
SPCA2013 - Yammer and SharePoint Happily Married
 
Yammer SDK SPSUK
Yammer SDK SPSUKYammer SDK SPSUK
Yammer SDK SPSUK
 
O365con14 - a developer jam with yammer
O365con14 - a developer jam with yammerO365con14 - a developer jam with yammer
O365con14 - a developer jam with yammer
 
Build you own yammer app
Build you own yammer appBuild you own yammer app
Build you own yammer app
 
Salesforce zoom integration
Salesforce zoom integrationSalesforce zoom integration
Salesforce zoom integration
 
SPEvo 2015 Yammer deep dive
SPEvo 2015 Yammer deep diveSPEvo 2015 Yammer deep dive
SPEvo 2015 Yammer deep dive
 
http://fr.slideshare.net/TechnetFrance/mod305-45116527
http://fr.slideshare.net/TechnetFrance/mod305-45116527http://fr.slideshare.net/TechnetFrance/mod305-45116527
http://fr.slideshare.net/TechnetFrance/mod305-45116527
 
La collaboration dans Exchange : comparaison on premises et online
La collaboration dans Exchange : comparaison on premises et onlineLa collaboration dans Exchange : comparaison on premises et online
La collaboration dans Exchange : comparaison on premises et online
 
Share point fest presentation v3
Share point fest presentation v3Share point fest presentation v3
Share point fest presentation v3
 
Identity Management for Your Users and Apps: A Deep Dive on Amazon Cognito - ...
Identity Management for Your Users and Apps: A Deep Dive on Amazon Cognito - ...Identity Management for Your Users and Apps: A Deep Dive on Amazon Cognito - ...
Identity Management for Your Users and Apps: A Deep Dive on Amazon Cognito - ...
 
SharePoint 2013 Social yammer queport integration
SharePoint 2013 Social   yammer queport integrationSharePoint 2013 Social   yammer queport integration
SharePoint 2013 Social yammer queport integration
 
Emerging Technologies: Heroku for ISVs (October 13, 2014)
Emerging Technologies: Heroku for ISVs (October 13, 2014)Emerging Technologies: Heroku for ISVs (October 13, 2014)
Emerging Technologies: Heroku for ISVs (October 13, 2014)
 
Under the hood of Yammer
Under the hood of YammerUnder the hood of Yammer
Under the hood of Yammer
 
SRV315 Building Enterprise-Grade Serverless Apps
 SRV315 Building Enterprise-Grade Serverless Apps SRV315 Building Enterprise-Grade Serverless Apps
SRV315 Building Enterprise-Grade Serverless Apps
 
Detailed Technical Portfolio
Detailed Technical PortfolioDetailed Technical Portfolio
Detailed Technical Portfolio
 
Identity and access control for custom enterprise applications - SDD412 - AWS...
Identity and access control for custom enterprise applications - SDD412 - AWS...Identity and access control for custom enterprise applications - SDD412 - AWS...
Identity and access control for custom enterprise applications - SDD412 - AWS...
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning Models
 
Best Practices to Build Marketplace-Ready Integrations
Best Practices to Build Marketplace-Ready IntegrationsBest Practices to Build Marketplace-Ready Integrations
Best Practices to Build Marketplace-Ready Integrations
 

Recently uploaded

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 

Recently uploaded (20)

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

Yammer for developers

  • 1. Yammer for Developers Christian Glessner, Experts Inside SharePoint MVP
  • 2. Christian Glessner • Leitwolf @ Experts Inside Germany • SharePoint MVP since 2009 • cg@expertsinside.com www.sharepointeurope.com
  • 3. Agenda • Introduction • Using Yammer Embed • Authentication • Open Graph API • REST API www.sharepointeurope.com
  • 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
  • 6. The social layer across all enterprise applications CMS CRM HR ERP EVER EVOLVING The Yammer Platform
  • 7. Using Yammer Embed Feeds for Groups, Topics, Users and Comments www.sharepointeurope.com
  • 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. 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. 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. 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.
  • 13. Demo • Embedding Feeds – JSFiddle – SharePoint App – WCM • Action Buttons
  • 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. 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
  • 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. 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. 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. Demo • Create First Yammer App • Create Test Token • .NET MVC Client www.sharepointeurope.com
  • 22. Open Graph API Connecting Yammer with the Social Graph
  • 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. Spotify leverages Open Graph in Facebook Open Graph creates a powerful viral loop
  • 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. 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. Demo • Post a public link • Open Graph API
  • 28. REST API Yammer provides a RESTful interface to the resources in the Yammer web interface www.sharepointeurope.com
  • 29. REST API for… • Messages • Groups • Users • Relationships • Notifications • Suggestions • Subscriptions • Search • Autocomplete • Invitations • Networks www.sharepointeurope.com
  • 30. Demo • Using the REST API… www.sharepointeurope.com
  • 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. 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)

Editor's Notes

  1. &lt;script type=&quot;text/javascript&quot; src=&quot;https://assets.yammer.com/assets/platform_embed.js&quot;&gt; &lt;div id=&quot;feed&quot; style=&quot;height:400px;width:500px&quot;&gt;&lt;/div&gt;///&lt;referencepath=&quot;ShareCoffee/ShareCoffee.js&quot;/&gt;$(document).ready(function () {varhostUrl = ShareCoffee.Commons.getHostWebUrl();varhostTitle = ShareCoffee.Commons.getQueryStringParameter(&quot;SPHostTitle&quot;);yam.connect.embedFeed({container: &quot;#feed&quot;,feedType: &quot;open-graph&quot;,network: &quot;expertsinside.com&quot;,config: {header: false,footer: false,showOpenGraphPreview: true },objectProperties: { url: hostUrl, type: &quot;page&quot;, title: decodeURIComponent(hostTitle) } });});https://expertsinside.sharepoint.com/sites/cg-wcm
  2. 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
  3. https://www.yammer.com/dialog/oauth?client_id=[:client_id]&amp;redirect_uri=[:redirect_uri]https://www.yammer.com/dialog/oauth?client_id=hbOj1B3Z53EHJDJCMSbI7w&amp;redirect_uri=https://yammer.comCode = WsHYGa4ejh17ci6iBrX9whttps://www.yammer.com/oauth2/access_token.json?client_id=hbOj1B3Z53EHJDJCMSbI7w&amp;client_secret=XRuLPYirFNq70pb2Ls0e8B5Elxl3ZIc1yNiE8yx18k&amp;code=WsHYGa4ejh17ci6iBrX9wACCESS TOKEN:cuHDMQChC50qdhSpjQwAFilehttps://expertsinside-my.sharepoint.com/personal/cg_expertsinside_com/_layouts/15/guestaccess.aspx?guestaccesstoken=vrfepGS6F8jNCBCdMi7yXTAyLTShJ1Ym0UsWEk8PuTk%3d&amp;docid=090bb5c79ec13485f916985c71e837fe8
  4. https://www.yammer.com/dialog/oauth?client_id=[:client_id]&amp;redirect_uri=[:redirect_uri]https://www.yammer.com/dialog/oauth?client_id=hbOj1B3Z53EHJDJCMSbI7w&amp;redirect_uri=https://yammer.com
  5. https://www.yammer.com/dialog/oauth?client_id=[:client_id]&amp;redirect_uri=[:redirect_uri]https://www.yammer.com/oauth2/access_token.json?client_id=[:client_id]&amp;client_secret=[:client_secret]&amp;code=[:code]https://www.yammer.com/dialog/oauth?client_id=[:client_id]&amp;redirect_uri=[:redirect_uri]https://www.yammer.com/dialog/oauth?client_id=hbOj1B3Z53EHJDJCMSbI7w&amp;redirect_uri=https://yammer.comCode = WsHYGa4ejh17ci6iBrX9whttps://www.yammer.com/oauth2/access_token.json?client_id=hbOj1B3Z53EHJDJCMSbI7w&amp;client_secret=XRuLPYirFNq70pb2Ls0e8B5Elxl3ZIc1yNiE8yx18k&amp;code=WsHYGa4ejh17ci6iBrX9wACCESS TOKEN:cuHDMQChC50qdhSpjQwA
  6. https://www.yammer.com/dialog/oauth?client_id=[:client_id]&amp;redirect_uri=[:redirect_uri]https://www.yammer.com/dialog/oauth?client_id=hbOj1B3Z53EHJDJCMSbI7w&amp;redirect_uri=https://yammer.comCode = WsHYGa4ejh17ci6iBrX9whttps://www.yammer.com/oauth2/access_token.json?client_id=hbOj1B3Z53EHJDJCMSbI7w&amp;client_secret=XRuLPYirFNq70pb2Ls0e8B5Elxl3ZIc1yNiE8yx18k&amp;code=WsHYGa4ejh17ci6iBrX9wTOKEN:cuHDMQChC50qdhSpjQwAFilehttps://expertsinside-my.sharepoint.com/personal/cg_expertsinside_com/_layouts/15/guestaccess.aspx?guestaccesstoken=vrfepGS6F8jNCBCdMi7yXTAyLTShJ1Ym0UsWEk8PuTk%3d&amp;docid=090bb5c79ec13485f916985c71e837fe8