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

Đề tài: Nghiên cứu và thiết kế Website bán hàng bằng Wordpress Công Ty TNHH D...
Đề tài: Nghiên cứu và thiết kế Website bán hàng bằng Wordpress Công Ty TNHH D...Đề tài: Nghiên cứu và thiết kế Website bán hàng bằng Wordpress Công Ty TNHH D...
Đề tài: Nghiên cứu và thiết kế Website bán hàng bằng Wordpress Công Ty TNHH D...Viết thuê trọn gói ZALO 0934573149
 
Tính toán evm trên microsoft project
Tính toán evm trên microsoft projectTính toán evm trên microsoft project
Tính toán evm trên microsoft projectĐàm Tài Cap
 
Bảo mật ứng dụng web
Bảo mật ứng dụng webBảo mật ứng dụng web
Bảo mật ứng dụng webabesoon
 
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng HồBáo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng HồzDollz Lovez
 
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravel
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravelBáo cáo thực tập tốt nghiệp xây dựng website bằng laravel
Báo cáo thực tập tốt nghiệp xây dựng website bằng laraveljackjohn45
 
Hướng dẫn sử dụng Microsoft Project 2010 (Phần 2: Nhập dữ liệu)
Hướng dẫn sử dụng Microsoft Project 2010 (Phần 2: Nhập dữ liệu)Hướng dẫn sử dụng Microsoft Project 2010 (Phần 2: Nhập dữ liệu)
Hướng dẫn sử dụng Microsoft Project 2010 (Phần 2: Nhập dữ liệu)Đàm Tài Cap
 
UiPath Task Capture training.pdf
UiPath Task Capture training.pdfUiPath Task Capture training.pdf
UiPath Task Capture training.pdfCristina Vidu
 
Bài 6 an toàn hệ thống máy tính
Bài 6   an toàn hệ thống máy tínhBài 6   an toàn hệ thống máy tính
Bài 6 an toàn hệ thống máy tínhMasterCode.vn
 
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"Tú Cao
 
ĐỒ ÁN XÂY DỰNG WEBSITE BÁN HÀNG BẰNG WORDPRESS
ĐỒ ÁN XÂY DỰNG WEBSITE BÁN HÀNG BẰNG WORDPRESSĐỒ ÁN XÂY DỰNG WEBSITE BÁN HÀNG BẰNG WORDPRESS
ĐỒ ÁN XÂY DỰNG WEBSITE BÁN HÀNG BẰNG WORDPRESSnataliej4
 
Oosd shopping (1)
Oosd shopping (1)Oosd shopping (1)
Oosd shopping (1)shaj13
 
Do an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tuDo an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tuThiênĐàng CôngDân
 
Báo cáo xây dựng và phát triển phần mềm
Báo cáo xây dựng và phát triển phần mềmBáo cáo xây dựng và phát triển phần mềm
Báo cáo xây dựng và phát triển phần mềmytthuan
 
Dự án xây dựng phần mềm quản lý quán highland coffee
Dự án xây dựng phần mềm quản lý quán highland coffee Dự án xây dựng phần mềm quản lý quán highland coffee
Dự án xây dựng phần mềm quản lý quán highland coffee Luanvantot.com 0934.573.149
 
Final year project presentation
Final year project presentationFinal year project presentation
Final year project presentationNoman Manzoor
 
Hệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng onlineHệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng onlineHan Nguyen
 

What's hot (20)

Đề tài: Nghiên cứu và thiết kế Website bán hàng bằng Wordpress Công Ty TNHH D...
Đề tài: Nghiên cứu và thiết kế Website bán hàng bằng Wordpress Công Ty TNHH D...Đề tài: Nghiên cứu và thiết kế Website bán hàng bằng Wordpress Công Ty TNHH D...
Đề tài: Nghiên cứu và thiết kế Website bán hàng bằng Wordpress Công Ty TNHH D...
 
Đề tài: Nghiên cứu áp dụng phần mềm Moodle trong giảng dạy tiếng Anh tại trườ...
Đề tài: Nghiên cứu áp dụng phần mềm Moodle trong giảng dạy tiếng Anh tại trườ...Đề tài: Nghiên cứu áp dụng phần mềm Moodle trong giảng dạy tiếng Anh tại trườ...
Đề tài: Nghiên cứu áp dụng phần mềm Moodle trong giảng dạy tiếng Anh tại trườ...
 
Tính toán evm trên microsoft project
Tính toán evm trên microsoft projectTính toán evm trên microsoft project
Tính toán evm trên microsoft project
 
Đề tài: Tìm hiểu và ứng dụng SEO vào web toancaumobile.vn
Đề tài: Tìm hiểu và ứng dụng SEO vào web toancaumobile.vnĐề tài: Tìm hiểu và ứng dụng SEO vào web toancaumobile.vn
Đề tài: Tìm hiểu và ứng dụng SEO vào web toancaumobile.vn
 
Bảo mật ứng dụng web
Bảo mật ứng dụng webBảo mật ứng dụng web
Bảo mật ứng dụng web
 
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng HồBáo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
 
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravel
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravelBáo cáo thực tập tốt nghiệp xây dựng website bằng laravel
Báo cáo thực tập tốt nghiệp xây dựng website bằng laravel
 
Hướng dẫn sử dụng Microsoft Project 2010 (Phần 2: Nhập dữ liệu)
Hướng dẫn sử dụng Microsoft Project 2010 (Phần 2: Nhập dữ liệu)Hướng dẫn sử dụng Microsoft Project 2010 (Phần 2: Nhập dữ liệu)
Hướng dẫn sử dụng Microsoft Project 2010 (Phần 2: Nhập dữ liệu)
 
UiPath Task Capture training.pdf
UiPath Task Capture training.pdfUiPath Task Capture training.pdf
UiPath Task Capture training.pdf
 
Bài 6 an toàn hệ thống máy tính
Bài 6   an toàn hệ thống máy tínhBài 6   an toàn hệ thống máy tính
Bài 6 an toàn hệ thống máy tính
 
15 Design pattern - Kiến trúc và thiết kế phần mềm PTIT
15 Design pattern - Kiến trúc và thiết kế phần mềm PTIT15 Design pattern - Kiến trúc và thiết kế phần mềm PTIT
15 Design pattern - Kiến trúc và thiết kế phần mềm PTIT
 
Thực hành wordpress cơ bản
Thực hành wordpress cơ bảnThực hành wordpress cơ bản
Thực hành wordpress cơ bản
 
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
 
ĐỒ ÁN XÂY DỰNG WEBSITE BÁN HÀNG BẰNG WORDPRESS
ĐỒ ÁN XÂY DỰNG WEBSITE BÁN HÀNG BẰNG WORDPRESSĐỒ ÁN XÂY DỰNG WEBSITE BÁN HÀNG BẰNG WORDPRESS
ĐỒ ÁN XÂY DỰNG WEBSITE BÁN HÀNG BẰNG WORDPRESS
 
Oosd shopping (1)
Oosd shopping (1)Oosd shopping (1)
Oosd shopping (1)
 
Do an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tuDo an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tu
 
Báo cáo xây dựng và phát triển phần mềm
Báo cáo xây dựng và phát triển phần mềmBáo cáo xây dựng và phát triển phần mềm
Báo cáo xây dựng và phát triển phần mềm
 
Dự án xây dựng phần mềm quản lý quán highland coffee
Dự án xây dựng phần mềm quản lý quán highland coffee Dự án xây dựng phần mềm quản lý quán highland coffee
Dự án xây dựng phần mềm quản lý quán highland coffee
 
Final year project presentation
Final year project presentationFinal year project presentation
Final year project presentation
 
Hệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng onlineHệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng online
 

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

Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)Samir Dash
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Recently uploaded (20)

Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

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