Upload
alexander-meijers
View
1.165
Download
0
Embed Size (px)
Citation preview
Online Conference
June 17th and 18th 2015WWWCOLLAB365EVENTS
Build your own Yammer App
WWWCOLLAB365EVENTS
Alexander Meijers
Lead Architect Portiva
Twitter ameijers
Email alexanderappzinsidecom
Phone +31652012406
Apps | Azure | SharePoint | Office 365 |
Development | Functional | Architecture |
Love to connect with people | Community
Fan | Speaker | Blogger | 2 kids | Fitness |
Airsoft
WWWCOLLAB365EVENTS
Agenda
bull What about Yammerbull Integration with Yammerbull Yammer API
ndash REST APIndash JavaScript SDK ndash Yammer Embedndash Open Graph
bull Yammer and NETbull Takeaways amp round up
WWWCOLLAB365EVENTS
Yammer
WWWCOLLAB365EVENTS
What is Yammer
bull It allows organizations to extend their systems socially by using one or more social networks
bull Create communities around content
bull What can you dondash Send and receive messagesndash Show activity around objectsndash Follow and like messages topics and
other information
WWWCOLLAB365EVENTS
Networksbull Internal network
ndash Also called a Home Networkndash Private and secure collaboration space for company employees to connect
with their coworkersndash Only available for employees with verified corporate e-mail addresses
bull External networkndash Separate extension of your Home networkndash Private and secure collaboration space for your company to engage with
users outside the organizationndash Allows to invite users from outside your organizationndash Access is invitation only
WWWCOLLAB365EVENTS
Yammer main structure
WWWCOLLAB365EVENTS
Example of Yammer network
WWWCOLLAB365EVENTS
VersionsBasic
(Freemium)Enterprise
(paid)
Basic Yammer Features X X
Collaboration Features X X
Yammer Mobile X X
Apps X X
Admin Tools X
Network level Apps and integration X
Support and Services X
WWWCOLLAB365EVENTS
Roles and rights
bull More informationndash httpwwwcollabshowcom20140106yammer-roles-permissions-drill-
down
Member All users are at least a member of the Yammer network Ability to use yammer
Group admin The person who created a group becomes the group admin of that group It allows to add and remove members from that group
Network admin admin This role manages the network This requires a ldquopaidrdquo network
Verified admin The role has all the abilities and is sometimes called the one with ldquoGodrdquo rights This requires a ldquopaidrdquo network
WWWCOLLAB365EVENTS
Integration with Yammer
WWWCOLLAB365EVENTS
Integration possibilities
bull SharePoint add-ins ndash On-premises or online
bull Office 365
bull Office add-ins
bull Azure Apps and Services
bull Other platforms
WWWCOLLAB365EVENTS
SharePoint integration in Yammer
bull Yammer Web Partndash Discontinued and stopped working on September 15th 2015
(httpgooglk2LuSs)
bull Yammer Embedndash Microsoftrsquos single solution to integrate Yammer feeds into
SharePoint
bull Other options as document and list integration federated search activity streams single sign-on admin configurationsndash httpsupportmicrosoftcomkb2835453
WWWCOLLAB365EVENTS
SharePoint Add-ins explainedAdd-in
Web
On-
premises
SharePoint
Add-in
Web
SharePoint
Online
Parent Web
(Host)
App Web
Add-in runs on local web server
or in the cloud
High trust is needed
Add-in runs on local web server
or in the cloud
Provider-hosted
SharePoint Add-inThe add-in runs in a separate host
Or as a service Use your own
Choice of server hosting
Architecture Code is allowed
SharePoint-Hosted Add-inCreation of isolated sub web on a parent web
Contains only web elements
Examples are lists out-of-the box Web Parts
No server code allowed only client JavaScript for logic and UX
WWWCOLLAB365EVENTS
What are the possibilitiesbull Embedding code directly on Page
ndash Publishing Page Content Page Any Page
bull Your own custom ndash Web Partndash User Control
bull SharePoint Add-insndash SharePoint hosted Add-inndash Provider-hosted SharePoint Add-in
bull Azure Apps and Servicesndash Coding based on NET JavaScript or other
language at your choice
WWWCOLLAB365EVENTS
Best practices - APIs
Embed code on page
User Control
Web PartSharePoint-Hosted Add-
in
SharePoint Provider-
Hosted Add-in
Azure Apps Service
Otherplatforms
Yammer Embed
Yes Yes Yes
Yes with someexceptions as
like follow and commenting
No YesYes if
JavaScript is possible
Yammer JS SDK
No Yes Yes Yes No Yes
Yes ifJavaScript is
possible
REST API NoYes using NET code
Yes using NET code
Yes only through
JavaScript calls
Yes using NET code
Yes
Yes mostlythrough
Javascript calls
WWWCOLLAB365EVENTS
Yammer API
WWWCOLLAB365EVENTS
Yammer API overviewbull Documentation
ndash Documentation got a lot betterndash httpdeveloperyammercomdocumentation
bull Available APIsndash REST APIndash JavaScript SDKndash Other SDKs for iOS Windows Phone 8
Ruby and Python
bull Widgets with Yammer Embedbull Yammer uses the Open Graph protocol for activities
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegt
bull Data returned as JSON
WWWCOLLAB365EVENTS
Register a Yammer Appbull App registration
ndash Go to httpswwwyammercomclient_applications and register an Appndash Register an App for testing
bull What do you get backndash Client ID = 8LIaFJoKeMB6SjDg3nI1LAndash Client Secret = dXHDf0hGYG0I268rtgn
JNUaq8jFJokEUqelVHKKwg
bull Define a redirect URLndash Expected Redirect = httpwwwyammercom
WWWCOLLAB365EVENTS
DEMO
Register a Yammer App
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Registration of a Yammer App
ndash Use it for creating a test app to work on
bull Publishing for use by others
WWWCOLLAB365EVENTS
REST API
WWWCOLLAB365EVENTS
REST API
bull REST interface to Yammer resourcesndash Interface is mostly used by other APIs when accessing data
bull Before accessing REST APIndash Register an App at Yammerndash Your App needs to authenticate a Yammer user through OAuth 2
bull Call REST API endpoints with an access tokenbull Documentation
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsndash Each function has a ldquoTry outrdquo
WWWCOLLAB365EVENTS
Authenticate ndash OAuth flows
bull Server-Side flowndash Referred to as ldquoAuthorization Code Grantrdquondash Use whenever you call the Yammer API from your web
application server
bull Client-Side flowndash Referred to as ldquoImplicit Grantrdquondash Use whenever you need to make API calls from a client
such as JavaScript running in a web browser or from native mobile or desktop applications
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Yammer uses OAuth 2bull User Authentication and App Authorization
ndash httpswwwyammercomdialogoauthclient_id=LIaFJoKeMB6SjDg1LAampredirect_uri=httpwwwyammercom
ndash It requests to login and to authorize the App to use your data
bull After successful login and authorizing the app your are redirectedndash httpswwwyammercomportivanlcode=1U8BguaHAEJokENBsHO8wmcQ
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Get your Access Token
ndash httpswwwyammercomoauth2access_tokenjsonclient_id=8daFanMJOkeB6SjDg31nI1LAampclient_secret=dXHD9f00I268rtgnJJokeNuUaq8j3tUqelVHKKwgampcode=o3Su14YEuowqSJokeCfg
ndash Access Token can be found in the returned JSON
WWWCOLLAB365EVENTS
Authenticate ndash Client-Side flowbull Get your Access Token
ndash httpswwwyammercomdialogoauthclient_id=dIaFnMB6SJokEjg31nI1LAampredirect_uri=httpwwwyammercomampresponse_type=token
ndash Get access token from redirected URLndash httpswwwyammercomportivanlaccess_token=bl7qByjG0CgVag2OJokEc8w
bull Access token is valid for many years or longer
WWWCOLLAB365EVENTS
DEMO
Authentication
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Using REST API calls to authenticate an App
bull Explained the different dialog popups you get and when they are shown
bull Getting the access token
bull Explain the JSON payload returned
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Alexander Meijers
Lead Architect Portiva
Twitter ameijers
Email alexanderappzinsidecom
Phone +31652012406
Apps | Azure | SharePoint | Office 365 |
Development | Functional | Architecture |
Love to connect with people | Community
Fan | Speaker | Blogger | 2 kids | Fitness |
Airsoft
WWWCOLLAB365EVENTS
Agenda
bull What about Yammerbull Integration with Yammerbull Yammer API
ndash REST APIndash JavaScript SDK ndash Yammer Embedndash Open Graph
bull Yammer and NETbull Takeaways amp round up
WWWCOLLAB365EVENTS
Yammer
WWWCOLLAB365EVENTS
What is Yammer
bull It allows organizations to extend their systems socially by using one or more social networks
bull Create communities around content
bull What can you dondash Send and receive messagesndash Show activity around objectsndash Follow and like messages topics and
other information
WWWCOLLAB365EVENTS
Networksbull Internal network
ndash Also called a Home Networkndash Private and secure collaboration space for company employees to connect
with their coworkersndash Only available for employees with verified corporate e-mail addresses
bull External networkndash Separate extension of your Home networkndash Private and secure collaboration space for your company to engage with
users outside the organizationndash Allows to invite users from outside your organizationndash Access is invitation only
WWWCOLLAB365EVENTS
Yammer main structure
WWWCOLLAB365EVENTS
Example of Yammer network
WWWCOLLAB365EVENTS
VersionsBasic
(Freemium)Enterprise
(paid)
Basic Yammer Features X X
Collaboration Features X X
Yammer Mobile X X
Apps X X
Admin Tools X
Network level Apps and integration X
Support and Services X
WWWCOLLAB365EVENTS
Roles and rights
bull More informationndash httpwwwcollabshowcom20140106yammer-roles-permissions-drill-
down
Member All users are at least a member of the Yammer network Ability to use yammer
Group admin The person who created a group becomes the group admin of that group It allows to add and remove members from that group
Network admin admin This role manages the network This requires a ldquopaidrdquo network
Verified admin The role has all the abilities and is sometimes called the one with ldquoGodrdquo rights This requires a ldquopaidrdquo network
WWWCOLLAB365EVENTS
Integration with Yammer
WWWCOLLAB365EVENTS
Integration possibilities
bull SharePoint add-ins ndash On-premises or online
bull Office 365
bull Office add-ins
bull Azure Apps and Services
bull Other platforms
WWWCOLLAB365EVENTS
SharePoint integration in Yammer
bull Yammer Web Partndash Discontinued and stopped working on September 15th 2015
(httpgooglk2LuSs)
bull Yammer Embedndash Microsoftrsquos single solution to integrate Yammer feeds into
SharePoint
bull Other options as document and list integration federated search activity streams single sign-on admin configurationsndash httpsupportmicrosoftcomkb2835453
WWWCOLLAB365EVENTS
SharePoint Add-ins explainedAdd-in
Web
On-
premises
SharePoint
Add-in
Web
SharePoint
Online
Parent Web
(Host)
App Web
Add-in runs on local web server
or in the cloud
High trust is needed
Add-in runs on local web server
or in the cloud
Provider-hosted
SharePoint Add-inThe add-in runs in a separate host
Or as a service Use your own
Choice of server hosting
Architecture Code is allowed
SharePoint-Hosted Add-inCreation of isolated sub web on a parent web
Contains only web elements
Examples are lists out-of-the box Web Parts
No server code allowed only client JavaScript for logic and UX
WWWCOLLAB365EVENTS
What are the possibilitiesbull Embedding code directly on Page
ndash Publishing Page Content Page Any Page
bull Your own custom ndash Web Partndash User Control
bull SharePoint Add-insndash SharePoint hosted Add-inndash Provider-hosted SharePoint Add-in
bull Azure Apps and Servicesndash Coding based on NET JavaScript or other
language at your choice
WWWCOLLAB365EVENTS
Best practices - APIs
Embed code on page
User Control
Web PartSharePoint-Hosted Add-
in
SharePoint Provider-
Hosted Add-in
Azure Apps Service
Otherplatforms
Yammer Embed
Yes Yes Yes
Yes with someexceptions as
like follow and commenting
No YesYes if
JavaScript is possible
Yammer JS SDK
No Yes Yes Yes No Yes
Yes ifJavaScript is
possible
REST API NoYes using NET code
Yes using NET code
Yes only through
JavaScript calls
Yes using NET code
Yes
Yes mostlythrough
Javascript calls
WWWCOLLAB365EVENTS
Yammer API
WWWCOLLAB365EVENTS
Yammer API overviewbull Documentation
ndash Documentation got a lot betterndash httpdeveloperyammercomdocumentation
bull Available APIsndash REST APIndash JavaScript SDKndash Other SDKs for iOS Windows Phone 8
Ruby and Python
bull Widgets with Yammer Embedbull Yammer uses the Open Graph protocol for activities
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegt
bull Data returned as JSON
WWWCOLLAB365EVENTS
Register a Yammer Appbull App registration
ndash Go to httpswwwyammercomclient_applications and register an Appndash Register an App for testing
bull What do you get backndash Client ID = 8LIaFJoKeMB6SjDg3nI1LAndash Client Secret = dXHDf0hGYG0I268rtgn
JNUaq8jFJokEUqelVHKKwg
bull Define a redirect URLndash Expected Redirect = httpwwwyammercom
WWWCOLLAB365EVENTS
DEMO
Register a Yammer App
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Registration of a Yammer App
ndash Use it for creating a test app to work on
bull Publishing for use by others
WWWCOLLAB365EVENTS
REST API
WWWCOLLAB365EVENTS
REST API
bull REST interface to Yammer resourcesndash Interface is mostly used by other APIs when accessing data
bull Before accessing REST APIndash Register an App at Yammerndash Your App needs to authenticate a Yammer user through OAuth 2
bull Call REST API endpoints with an access tokenbull Documentation
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsndash Each function has a ldquoTry outrdquo
WWWCOLLAB365EVENTS
Authenticate ndash OAuth flows
bull Server-Side flowndash Referred to as ldquoAuthorization Code Grantrdquondash Use whenever you call the Yammer API from your web
application server
bull Client-Side flowndash Referred to as ldquoImplicit Grantrdquondash Use whenever you need to make API calls from a client
such as JavaScript running in a web browser or from native mobile or desktop applications
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Yammer uses OAuth 2bull User Authentication and App Authorization
ndash httpswwwyammercomdialogoauthclient_id=LIaFJoKeMB6SjDg1LAampredirect_uri=httpwwwyammercom
ndash It requests to login and to authorize the App to use your data
bull After successful login and authorizing the app your are redirectedndash httpswwwyammercomportivanlcode=1U8BguaHAEJokENBsHO8wmcQ
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Get your Access Token
ndash httpswwwyammercomoauth2access_tokenjsonclient_id=8daFanMJOkeB6SjDg31nI1LAampclient_secret=dXHD9f00I268rtgnJJokeNuUaq8j3tUqelVHKKwgampcode=o3Su14YEuowqSJokeCfg
ndash Access Token can be found in the returned JSON
WWWCOLLAB365EVENTS
Authenticate ndash Client-Side flowbull Get your Access Token
ndash httpswwwyammercomdialogoauthclient_id=dIaFnMB6SJokEjg31nI1LAampredirect_uri=httpwwwyammercomampresponse_type=token
ndash Get access token from redirected URLndash httpswwwyammercomportivanlaccess_token=bl7qByjG0CgVag2OJokEc8w
bull Access token is valid for many years or longer
WWWCOLLAB365EVENTS
DEMO
Authentication
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Using REST API calls to authenticate an App
bull Explained the different dialog popups you get and when they are shown
bull Getting the access token
bull Explain the JSON payload returned
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Agenda
bull What about Yammerbull Integration with Yammerbull Yammer API
ndash REST APIndash JavaScript SDK ndash Yammer Embedndash Open Graph
bull Yammer and NETbull Takeaways amp round up
WWWCOLLAB365EVENTS
Yammer
WWWCOLLAB365EVENTS
What is Yammer
bull It allows organizations to extend their systems socially by using one or more social networks
bull Create communities around content
bull What can you dondash Send and receive messagesndash Show activity around objectsndash Follow and like messages topics and
other information
WWWCOLLAB365EVENTS
Networksbull Internal network
ndash Also called a Home Networkndash Private and secure collaboration space for company employees to connect
with their coworkersndash Only available for employees with verified corporate e-mail addresses
bull External networkndash Separate extension of your Home networkndash Private and secure collaboration space for your company to engage with
users outside the organizationndash Allows to invite users from outside your organizationndash Access is invitation only
WWWCOLLAB365EVENTS
Yammer main structure
WWWCOLLAB365EVENTS
Example of Yammer network
WWWCOLLAB365EVENTS
VersionsBasic
(Freemium)Enterprise
(paid)
Basic Yammer Features X X
Collaboration Features X X
Yammer Mobile X X
Apps X X
Admin Tools X
Network level Apps and integration X
Support and Services X
WWWCOLLAB365EVENTS
Roles and rights
bull More informationndash httpwwwcollabshowcom20140106yammer-roles-permissions-drill-
down
Member All users are at least a member of the Yammer network Ability to use yammer
Group admin The person who created a group becomes the group admin of that group It allows to add and remove members from that group
Network admin admin This role manages the network This requires a ldquopaidrdquo network
Verified admin The role has all the abilities and is sometimes called the one with ldquoGodrdquo rights This requires a ldquopaidrdquo network
WWWCOLLAB365EVENTS
Integration with Yammer
WWWCOLLAB365EVENTS
Integration possibilities
bull SharePoint add-ins ndash On-premises or online
bull Office 365
bull Office add-ins
bull Azure Apps and Services
bull Other platforms
WWWCOLLAB365EVENTS
SharePoint integration in Yammer
bull Yammer Web Partndash Discontinued and stopped working on September 15th 2015
(httpgooglk2LuSs)
bull Yammer Embedndash Microsoftrsquos single solution to integrate Yammer feeds into
SharePoint
bull Other options as document and list integration federated search activity streams single sign-on admin configurationsndash httpsupportmicrosoftcomkb2835453
WWWCOLLAB365EVENTS
SharePoint Add-ins explainedAdd-in
Web
On-
premises
SharePoint
Add-in
Web
SharePoint
Online
Parent Web
(Host)
App Web
Add-in runs on local web server
or in the cloud
High trust is needed
Add-in runs on local web server
or in the cloud
Provider-hosted
SharePoint Add-inThe add-in runs in a separate host
Or as a service Use your own
Choice of server hosting
Architecture Code is allowed
SharePoint-Hosted Add-inCreation of isolated sub web on a parent web
Contains only web elements
Examples are lists out-of-the box Web Parts
No server code allowed only client JavaScript for logic and UX
WWWCOLLAB365EVENTS
What are the possibilitiesbull Embedding code directly on Page
ndash Publishing Page Content Page Any Page
bull Your own custom ndash Web Partndash User Control
bull SharePoint Add-insndash SharePoint hosted Add-inndash Provider-hosted SharePoint Add-in
bull Azure Apps and Servicesndash Coding based on NET JavaScript or other
language at your choice
WWWCOLLAB365EVENTS
Best practices - APIs
Embed code on page
User Control
Web PartSharePoint-Hosted Add-
in
SharePoint Provider-
Hosted Add-in
Azure Apps Service
Otherplatforms
Yammer Embed
Yes Yes Yes
Yes with someexceptions as
like follow and commenting
No YesYes if
JavaScript is possible
Yammer JS SDK
No Yes Yes Yes No Yes
Yes ifJavaScript is
possible
REST API NoYes using NET code
Yes using NET code
Yes only through
JavaScript calls
Yes using NET code
Yes
Yes mostlythrough
Javascript calls
WWWCOLLAB365EVENTS
Yammer API
WWWCOLLAB365EVENTS
Yammer API overviewbull Documentation
ndash Documentation got a lot betterndash httpdeveloperyammercomdocumentation
bull Available APIsndash REST APIndash JavaScript SDKndash Other SDKs for iOS Windows Phone 8
Ruby and Python
bull Widgets with Yammer Embedbull Yammer uses the Open Graph protocol for activities
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegt
bull Data returned as JSON
WWWCOLLAB365EVENTS
Register a Yammer Appbull App registration
ndash Go to httpswwwyammercomclient_applications and register an Appndash Register an App for testing
bull What do you get backndash Client ID = 8LIaFJoKeMB6SjDg3nI1LAndash Client Secret = dXHDf0hGYG0I268rtgn
JNUaq8jFJokEUqelVHKKwg
bull Define a redirect URLndash Expected Redirect = httpwwwyammercom
WWWCOLLAB365EVENTS
DEMO
Register a Yammer App
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Registration of a Yammer App
ndash Use it for creating a test app to work on
bull Publishing for use by others
WWWCOLLAB365EVENTS
REST API
WWWCOLLAB365EVENTS
REST API
bull REST interface to Yammer resourcesndash Interface is mostly used by other APIs when accessing data
bull Before accessing REST APIndash Register an App at Yammerndash Your App needs to authenticate a Yammer user through OAuth 2
bull Call REST API endpoints with an access tokenbull Documentation
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsndash Each function has a ldquoTry outrdquo
WWWCOLLAB365EVENTS
Authenticate ndash OAuth flows
bull Server-Side flowndash Referred to as ldquoAuthorization Code Grantrdquondash Use whenever you call the Yammer API from your web
application server
bull Client-Side flowndash Referred to as ldquoImplicit Grantrdquondash Use whenever you need to make API calls from a client
such as JavaScript running in a web browser or from native mobile or desktop applications
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Yammer uses OAuth 2bull User Authentication and App Authorization
ndash httpswwwyammercomdialogoauthclient_id=LIaFJoKeMB6SjDg1LAampredirect_uri=httpwwwyammercom
ndash It requests to login and to authorize the App to use your data
bull After successful login and authorizing the app your are redirectedndash httpswwwyammercomportivanlcode=1U8BguaHAEJokENBsHO8wmcQ
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Get your Access Token
ndash httpswwwyammercomoauth2access_tokenjsonclient_id=8daFanMJOkeB6SjDg31nI1LAampclient_secret=dXHD9f00I268rtgnJJokeNuUaq8j3tUqelVHKKwgampcode=o3Su14YEuowqSJokeCfg
ndash Access Token can be found in the returned JSON
WWWCOLLAB365EVENTS
Authenticate ndash Client-Side flowbull Get your Access Token
ndash httpswwwyammercomdialogoauthclient_id=dIaFnMB6SJokEjg31nI1LAampredirect_uri=httpwwwyammercomampresponse_type=token
ndash Get access token from redirected URLndash httpswwwyammercomportivanlaccess_token=bl7qByjG0CgVag2OJokEc8w
bull Access token is valid for many years or longer
WWWCOLLAB365EVENTS
DEMO
Authentication
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Using REST API calls to authenticate an App
bull Explained the different dialog popups you get and when they are shown
bull Getting the access token
bull Explain the JSON payload returned
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Yammer
WWWCOLLAB365EVENTS
What is Yammer
bull It allows organizations to extend their systems socially by using one or more social networks
bull Create communities around content
bull What can you dondash Send and receive messagesndash Show activity around objectsndash Follow and like messages topics and
other information
WWWCOLLAB365EVENTS
Networksbull Internal network
ndash Also called a Home Networkndash Private and secure collaboration space for company employees to connect
with their coworkersndash Only available for employees with verified corporate e-mail addresses
bull External networkndash Separate extension of your Home networkndash Private and secure collaboration space for your company to engage with
users outside the organizationndash Allows to invite users from outside your organizationndash Access is invitation only
WWWCOLLAB365EVENTS
Yammer main structure
WWWCOLLAB365EVENTS
Example of Yammer network
WWWCOLLAB365EVENTS
VersionsBasic
(Freemium)Enterprise
(paid)
Basic Yammer Features X X
Collaboration Features X X
Yammer Mobile X X
Apps X X
Admin Tools X
Network level Apps and integration X
Support and Services X
WWWCOLLAB365EVENTS
Roles and rights
bull More informationndash httpwwwcollabshowcom20140106yammer-roles-permissions-drill-
down
Member All users are at least a member of the Yammer network Ability to use yammer
Group admin The person who created a group becomes the group admin of that group It allows to add and remove members from that group
Network admin admin This role manages the network This requires a ldquopaidrdquo network
Verified admin The role has all the abilities and is sometimes called the one with ldquoGodrdquo rights This requires a ldquopaidrdquo network
WWWCOLLAB365EVENTS
Integration with Yammer
WWWCOLLAB365EVENTS
Integration possibilities
bull SharePoint add-ins ndash On-premises or online
bull Office 365
bull Office add-ins
bull Azure Apps and Services
bull Other platforms
WWWCOLLAB365EVENTS
SharePoint integration in Yammer
bull Yammer Web Partndash Discontinued and stopped working on September 15th 2015
(httpgooglk2LuSs)
bull Yammer Embedndash Microsoftrsquos single solution to integrate Yammer feeds into
SharePoint
bull Other options as document and list integration federated search activity streams single sign-on admin configurationsndash httpsupportmicrosoftcomkb2835453
WWWCOLLAB365EVENTS
SharePoint Add-ins explainedAdd-in
Web
On-
premises
SharePoint
Add-in
Web
SharePoint
Online
Parent Web
(Host)
App Web
Add-in runs on local web server
or in the cloud
High trust is needed
Add-in runs on local web server
or in the cloud
Provider-hosted
SharePoint Add-inThe add-in runs in a separate host
Or as a service Use your own
Choice of server hosting
Architecture Code is allowed
SharePoint-Hosted Add-inCreation of isolated sub web on a parent web
Contains only web elements
Examples are lists out-of-the box Web Parts
No server code allowed only client JavaScript for logic and UX
WWWCOLLAB365EVENTS
What are the possibilitiesbull Embedding code directly on Page
ndash Publishing Page Content Page Any Page
bull Your own custom ndash Web Partndash User Control
bull SharePoint Add-insndash SharePoint hosted Add-inndash Provider-hosted SharePoint Add-in
bull Azure Apps and Servicesndash Coding based on NET JavaScript or other
language at your choice
WWWCOLLAB365EVENTS
Best practices - APIs
Embed code on page
User Control
Web PartSharePoint-Hosted Add-
in
SharePoint Provider-
Hosted Add-in
Azure Apps Service
Otherplatforms
Yammer Embed
Yes Yes Yes
Yes with someexceptions as
like follow and commenting
No YesYes if
JavaScript is possible
Yammer JS SDK
No Yes Yes Yes No Yes
Yes ifJavaScript is
possible
REST API NoYes using NET code
Yes using NET code
Yes only through
JavaScript calls
Yes using NET code
Yes
Yes mostlythrough
Javascript calls
WWWCOLLAB365EVENTS
Yammer API
WWWCOLLAB365EVENTS
Yammer API overviewbull Documentation
ndash Documentation got a lot betterndash httpdeveloperyammercomdocumentation
bull Available APIsndash REST APIndash JavaScript SDKndash Other SDKs for iOS Windows Phone 8
Ruby and Python
bull Widgets with Yammer Embedbull Yammer uses the Open Graph protocol for activities
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegt
bull Data returned as JSON
WWWCOLLAB365EVENTS
Register a Yammer Appbull App registration
ndash Go to httpswwwyammercomclient_applications and register an Appndash Register an App for testing
bull What do you get backndash Client ID = 8LIaFJoKeMB6SjDg3nI1LAndash Client Secret = dXHDf0hGYG0I268rtgn
JNUaq8jFJokEUqelVHKKwg
bull Define a redirect URLndash Expected Redirect = httpwwwyammercom
WWWCOLLAB365EVENTS
DEMO
Register a Yammer App
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Registration of a Yammer App
ndash Use it for creating a test app to work on
bull Publishing for use by others
WWWCOLLAB365EVENTS
REST API
WWWCOLLAB365EVENTS
REST API
bull REST interface to Yammer resourcesndash Interface is mostly used by other APIs when accessing data
bull Before accessing REST APIndash Register an App at Yammerndash Your App needs to authenticate a Yammer user through OAuth 2
bull Call REST API endpoints with an access tokenbull Documentation
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsndash Each function has a ldquoTry outrdquo
WWWCOLLAB365EVENTS
Authenticate ndash OAuth flows
bull Server-Side flowndash Referred to as ldquoAuthorization Code Grantrdquondash Use whenever you call the Yammer API from your web
application server
bull Client-Side flowndash Referred to as ldquoImplicit Grantrdquondash Use whenever you need to make API calls from a client
such as JavaScript running in a web browser or from native mobile or desktop applications
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Yammer uses OAuth 2bull User Authentication and App Authorization
ndash httpswwwyammercomdialogoauthclient_id=LIaFJoKeMB6SjDg1LAampredirect_uri=httpwwwyammercom
ndash It requests to login and to authorize the App to use your data
bull After successful login and authorizing the app your are redirectedndash httpswwwyammercomportivanlcode=1U8BguaHAEJokENBsHO8wmcQ
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Get your Access Token
ndash httpswwwyammercomoauth2access_tokenjsonclient_id=8daFanMJOkeB6SjDg31nI1LAampclient_secret=dXHD9f00I268rtgnJJokeNuUaq8j3tUqelVHKKwgampcode=o3Su14YEuowqSJokeCfg
ndash Access Token can be found in the returned JSON
WWWCOLLAB365EVENTS
Authenticate ndash Client-Side flowbull Get your Access Token
ndash httpswwwyammercomdialogoauthclient_id=dIaFnMB6SJokEjg31nI1LAampredirect_uri=httpwwwyammercomampresponse_type=token
ndash Get access token from redirected URLndash httpswwwyammercomportivanlaccess_token=bl7qByjG0CgVag2OJokEc8w
bull Access token is valid for many years or longer
WWWCOLLAB365EVENTS
DEMO
Authentication
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Using REST API calls to authenticate an App
bull Explained the different dialog popups you get and when they are shown
bull Getting the access token
bull Explain the JSON payload returned
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
What is Yammer
bull It allows organizations to extend their systems socially by using one or more social networks
bull Create communities around content
bull What can you dondash Send and receive messagesndash Show activity around objectsndash Follow and like messages topics and
other information
WWWCOLLAB365EVENTS
Networksbull Internal network
ndash Also called a Home Networkndash Private and secure collaboration space for company employees to connect
with their coworkersndash Only available for employees with verified corporate e-mail addresses
bull External networkndash Separate extension of your Home networkndash Private and secure collaboration space for your company to engage with
users outside the organizationndash Allows to invite users from outside your organizationndash Access is invitation only
WWWCOLLAB365EVENTS
Yammer main structure
WWWCOLLAB365EVENTS
Example of Yammer network
WWWCOLLAB365EVENTS
VersionsBasic
(Freemium)Enterprise
(paid)
Basic Yammer Features X X
Collaboration Features X X
Yammer Mobile X X
Apps X X
Admin Tools X
Network level Apps and integration X
Support and Services X
WWWCOLLAB365EVENTS
Roles and rights
bull More informationndash httpwwwcollabshowcom20140106yammer-roles-permissions-drill-
down
Member All users are at least a member of the Yammer network Ability to use yammer
Group admin The person who created a group becomes the group admin of that group It allows to add and remove members from that group
Network admin admin This role manages the network This requires a ldquopaidrdquo network
Verified admin The role has all the abilities and is sometimes called the one with ldquoGodrdquo rights This requires a ldquopaidrdquo network
WWWCOLLAB365EVENTS
Integration with Yammer
WWWCOLLAB365EVENTS
Integration possibilities
bull SharePoint add-ins ndash On-premises or online
bull Office 365
bull Office add-ins
bull Azure Apps and Services
bull Other platforms
WWWCOLLAB365EVENTS
SharePoint integration in Yammer
bull Yammer Web Partndash Discontinued and stopped working on September 15th 2015
(httpgooglk2LuSs)
bull Yammer Embedndash Microsoftrsquos single solution to integrate Yammer feeds into
SharePoint
bull Other options as document and list integration federated search activity streams single sign-on admin configurationsndash httpsupportmicrosoftcomkb2835453
WWWCOLLAB365EVENTS
SharePoint Add-ins explainedAdd-in
Web
On-
premises
SharePoint
Add-in
Web
SharePoint
Online
Parent Web
(Host)
App Web
Add-in runs on local web server
or in the cloud
High trust is needed
Add-in runs on local web server
or in the cloud
Provider-hosted
SharePoint Add-inThe add-in runs in a separate host
Or as a service Use your own
Choice of server hosting
Architecture Code is allowed
SharePoint-Hosted Add-inCreation of isolated sub web on a parent web
Contains only web elements
Examples are lists out-of-the box Web Parts
No server code allowed only client JavaScript for logic and UX
WWWCOLLAB365EVENTS
What are the possibilitiesbull Embedding code directly on Page
ndash Publishing Page Content Page Any Page
bull Your own custom ndash Web Partndash User Control
bull SharePoint Add-insndash SharePoint hosted Add-inndash Provider-hosted SharePoint Add-in
bull Azure Apps and Servicesndash Coding based on NET JavaScript or other
language at your choice
WWWCOLLAB365EVENTS
Best practices - APIs
Embed code on page
User Control
Web PartSharePoint-Hosted Add-
in
SharePoint Provider-
Hosted Add-in
Azure Apps Service
Otherplatforms
Yammer Embed
Yes Yes Yes
Yes with someexceptions as
like follow and commenting
No YesYes if
JavaScript is possible
Yammer JS SDK
No Yes Yes Yes No Yes
Yes ifJavaScript is
possible
REST API NoYes using NET code
Yes using NET code
Yes only through
JavaScript calls
Yes using NET code
Yes
Yes mostlythrough
Javascript calls
WWWCOLLAB365EVENTS
Yammer API
WWWCOLLAB365EVENTS
Yammer API overviewbull Documentation
ndash Documentation got a lot betterndash httpdeveloperyammercomdocumentation
bull Available APIsndash REST APIndash JavaScript SDKndash Other SDKs for iOS Windows Phone 8
Ruby and Python
bull Widgets with Yammer Embedbull Yammer uses the Open Graph protocol for activities
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegt
bull Data returned as JSON
WWWCOLLAB365EVENTS
Register a Yammer Appbull App registration
ndash Go to httpswwwyammercomclient_applications and register an Appndash Register an App for testing
bull What do you get backndash Client ID = 8LIaFJoKeMB6SjDg3nI1LAndash Client Secret = dXHDf0hGYG0I268rtgn
JNUaq8jFJokEUqelVHKKwg
bull Define a redirect URLndash Expected Redirect = httpwwwyammercom
WWWCOLLAB365EVENTS
DEMO
Register a Yammer App
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Registration of a Yammer App
ndash Use it for creating a test app to work on
bull Publishing for use by others
WWWCOLLAB365EVENTS
REST API
WWWCOLLAB365EVENTS
REST API
bull REST interface to Yammer resourcesndash Interface is mostly used by other APIs when accessing data
bull Before accessing REST APIndash Register an App at Yammerndash Your App needs to authenticate a Yammer user through OAuth 2
bull Call REST API endpoints with an access tokenbull Documentation
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsndash Each function has a ldquoTry outrdquo
WWWCOLLAB365EVENTS
Authenticate ndash OAuth flows
bull Server-Side flowndash Referred to as ldquoAuthorization Code Grantrdquondash Use whenever you call the Yammer API from your web
application server
bull Client-Side flowndash Referred to as ldquoImplicit Grantrdquondash Use whenever you need to make API calls from a client
such as JavaScript running in a web browser or from native mobile or desktop applications
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Yammer uses OAuth 2bull User Authentication and App Authorization
ndash httpswwwyammercomdialogoauthclient_id=LIaFJoKeMB6SjDg1LAampredirect_uri=httpwwwyammercom
ndash It requests to login and to authorize the App to use your data
bull After successful login and authorizing the app your are redirectedndash httpswwwyammercomportivanlcode=1U8BguaHAEJokENBsHO8wmcQ
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Get your Access Token
ndash httpswwwyammercomoauth2access_tokenjsonclient_id=8daFanMJOkeB6SjDg31nI1LAampclient_secret=dXHD9f00I268rtgnJJokeNuUaq8j3tUqelVHKKwgampcode=o3Su14YEuowqSJokeCfg
ndash Access Token can be found in the returned JSON
WWWCOLLAB365EVENTS
Authenticate ndash Client-Side flowbull Get your Access Token
ndash httpswwwyammercomdialogoauthclient_id=dIaFnMB6SJokEjg31nI1LAampredirect_uri=httpwwwyammercomampresponse_type=token
ndash Get access token from redirected URLndash httpswwwyammercomportivanlaccess_token=bl7qByjG0CgVag2OJokEc8w
bull Access token is valid for many years or longer
WWWCOLLAB365EVENTS
DEMO
Authentication
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Using REST API calls to authenticate an App
bull Explained the different dialog popups you get and when they are shown
bull Getting the access token
bull Explain the JSON payload returned
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Networksbull Internal network
ndash Also called a Home Networkndash Private and secure collaboration space for company employees to connect
with their coworkersndash Only available for employees with verified corporate e-mail addresses
bull External networkndash Separate extension of your Home networkndash Private and secure collaboration space for your company to engage with
users outside the organizationndash Allows to invite users from outside your organizationndash Access is invitation only
WWWCOLLAB365EVENTS
Yammer main structure
WWWCOLLAB365EVENTS
Example of Yammer network
WWWCOLLAB365EVENTS
VersionsBasic
(Freemium)Enterprise
(paid)
Basic Yammer Features X X
Collaboration Features X X
Yammer Mobile X X
Apps X X
Admin Tools X
Network level Apps and integration X
Support and Services X
WWWCOLLAB365EVENTS
Roles and rights
bull More informationndash httpwwwcollabshowcom20140106yammer-roles-permissions-drill-
down
Member All users are at least a member of the Yammer network Ability to use yammer
Group admin The person who created a group becomes the group admin of that group It allows to add and remove members from that group
Network admin admin This role manages the network This requires a ldquopaidrdquo network
Verified admin The role has all the abilities and is sometimes called the one with ldquoGodrdquo rights This requires a ldquopaidrdquo network
WWWCOLLAB365EVENTS
Integration with Yammer
WWWCOLLAB365EVENTS
Integration possibilities
bull SharePoint add-ins ndash On-premises or online
bull Office 365
bull Office add-ins
bull Azure Apps and Services
bull Other platforms
WWWCOLLAB365EVENTS
SharePoint integration in Yammer
bull Yammer Web Partndash Discontinued and stopped working on September 15th 2015
(httpgooglk2LuSs)
bull Yammer Embedndash Microsoftrsquos single solution to integrate Yammer feeds into
SharePoint
bull Other options as document and list integration federated search activity streams single sign-on admin configurationsndash httpsupportmicrosoftcomkb2835453
WWWCOLLAB365EVENTS
SharePoint Add-ins explainedAdd-in
Web
On-
premises
SharePoint
Add-in
Web
SharePoint
Online
Parent Web
(Host)
App Web
Add-in runs on local web server
or in the cloud
High trust is needed
Add-in runs on local web server
or in the cloud
Provider-hosted
SharePoint Add-inThe add-in runs in a separate host
Or as a service Use your own
Choice of server hosting
Architecture Code is allowed
SharePoint-Hosted Add-inCreation of isolated sub web on a parent web
Contains only web elements
Examples are lists out-of-the box Web Parts
No server code allowed only client JavaScript for logic and UX
WWWCOLLAB365EVENTS
What are the possibilitiesbull Embedding code directly on Page
ndash Publishing Page Content Page Any Page
bull Your own custom ndash Web Partndash User Control
bull SharePoint Add-insndash SharePoint hosted Add-inndash Provider-hosted SharePoint Add-in
bull Azure Apps and Servicesndash Coding based on NET JavaScript or other
language at your choice
WWWCOLLAB365EVENTS
Best practices - APIs
Embed code on page
User Control
Web PartSharePoint-Hosted Add-
in
SharePoint Provider-
Hosted Add-in
Azure Apps Service
Otherplatforms
Yammer Embed
Yes Yes Yes
Yes with someexceptions as
like follow and commenting
No YesYes if
JavaScript is possible
Yammer JS SDK
No Yes Yes Yes No Yes
Yes ifJavaScript is
possible
REST API NoYes using NET code
Yes using NET code
Yes only through
JavaScript calls
Yes using NET code
Yes
Yes mostlythrough
Javascript calls
WWWCOLLAB365EVENTS
Yammer API
WWWCOLLAB365EVENTS
Yammer API overviewbull Documentation
ndash Documentation got a lot betterndash httpdeveloperyammercomdocumentation
bull Available APIsndash REST APIndash JavaScript SDKndash Other SDKs for iOS Windows Phone 8
Ruby and Python
bull Widgets with Yammer Embedbull Yammer uses the Open Graph protocol for activities
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegt
bull Data returned as JSON
WWWCOLLAB365EVENTS
Register a Yammer Appbull App registration
ndash Go to httpswwwyammercomclient_applications and register an Appndash Register an App for testing
bull What do you get backndash Client ID = 8LIaFJoKeMB6SjDg3nI1LAndash Client Secret = dXHDf0hGYG0I268rtgn
JNUaq8jFJokEUqelVHKKwg
bull Define a redirect URLndash Expected Redirect = httpwwwyammercom
WWWCOLLAB365EVENTS
DEMO
Register a Yammer App
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Registration of a Yammer App
ndash Use it for creating a test app to work on
bull Publishing for use by others
WWWCOLLAB365EVENTS
REST API
WWWCOLLAB365EVENTS
REST API
bull REST interface to Yammer resourcesndash Interface is mostly used by other APIs when accessing data
bull Before accessing REST APIndash Register an App at Yammerndash Your App needs to authenticate a Yammer user through OAuth 2
bull Call REST API endpoints with an access tokenbull Documentation
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsndash Each function has a ldquoTry outrdquo
WWWCOLLAB365EVENTS
Authenticate ndash OAuth flows
bull Server-Side flowndash Referred to as ldquoAuthorization Code Grantrdquondash Use whenever you call the Yammer API from your web
application server
bull Client-Side flowndash Referred to as ldquoImplicit Grantrdquondash Use whenever you need to make API calls from a client
such as JavaScript running in a web browser or from native mobile or desktop applications
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Yammer uses OAuth 2bull User Authentication and App Authorization
ndash httpswwwyammercomdialogoauthclient_id=LIaFJoKeMB6SjDg1LAampredirect_uri=httpwwwyammercom
ndash It requests to login and to authorize the App to use your data
bull After successful login and authorizing the app your are redirectedndash httpswwwyammercomportivanlcode=1U8BguaHAEJokENBsHO8wmcQ
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Get your Access Token
ndash httpswwwyammercomoauth2access_tokenjsonclient_id=8daFanMJOkeB6SjDg31nI1LAampclient_secret=dXHD9f00I268rtgnJJokeNuUaq8j3tUqelVHKKwgampcode=o3Su14YEuowqSJokeCfg
ndash Access Token can be found in the returned JSON
WWWCOLLAB365EVENTS
Authenticate ndash Client-Side flowbull Get your Access Token
ndash httpswwwyammercomdialogoauthclient_id=dIaFnMB6SJokEjg31nI1LAampredirect_uri=httpwwwyammercomampresponse_type=token
ndash Get access token from redirected URLndash httpswwwyammercomportivanlaccess_token=bl7qByjG0CgVag2OJokEc8w
bull Access token is valid for many years or longer
WWWCOLLAB365EVENTS
DEMO
Authentication
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Using REST API calls to authenticate an App
bull Explained the different dialog popups you get and when they are shown
bull Getting the access token
bull Explain the JSON payload returned
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Yammer main structure
WWWCOLLAB365EVENTS
Example of Yammer network
WWWCOLLAB365EVENTS
VersionsBasic
(Freemium)Enterprise
(paid)
Basic Yammer Features X X
Collaboration Features X X
Yammer Mobile X X
Apps X X
Admin Tools X
Network level Apps and integration X
Support and Services X
WWWCOLLAB365EVENTS
Roles and rights
bull More informationndash httpwwwcollabshowcom20140106yammer-roles-permissions-drill-
down
Member All users are at least a member of the Yammer network Ability to use yammer
Group admin The person who created a group becomes the group admin of that group It allows to add and remove members from that group
Network admin admin This role manages the network This requires a ldquopaidrdquo network
Verified admin The role has all the abilities and is sometimes called the one with ldquoGodrdquo rights This requires a ldquopaidrdquo network
WWWCOLLAB365EVENTS
Integration with Yammer
WWWCOLLAB365EVENTS
Integration possibilities
bull SharePoint add-ins ndash On-premises or online
bull Office 365
bull Office add-ins
bull Azure Apps and Services
bull Other platforms
WWWCOLLAB365EVENTS
SharePoint integration in Yammer
bull Yammer Web Partndash Discontinued and stopped working on September 15th 2015
(httpgooglk2LuSs)
bull Yammer Embedndash Microsoftrsquos single solution to integrate Yammer feeds into
SharePoint
bull Other options as document and list integration federated search activity streams single sign-on admin configurationsndash httpsupportmicrosoftcomkb2835453
WWWCOLLAB365EVENTS
SharePoint Add-ins explainedAdd-in
Web
On-
premises
SharePoint
Add-in
Web
SharePoint
Online
Parent Web
(Host)
App Web
Add-in runs on local web server
or in the cloud
High trust is needed
Add-in runs on local web server
or in the cloud
Provider-hosted
SharePoint Add-inThe add-in runs in a separate host
Or as a service Use your own
Choice of server hosting
Architecture Code is allowed
SharePoint-Hosted Add-inCreation of isolated sub web on a parent web
Contains only web elements
Examples are lists out-of-the box Web Parts
No server code allowed only client JavaScript for logic and UX
WWWCOLLAB365EVENTS
What are the possibilitiesbull Embedding code directly on Page
ndash Publishing Page Content Page Any Page
bull Your own custom ndash Web Partndash User Control
bull SharePoint Add-insndash SharePoint hosted Add-inndash Provider-hosted SharePoint Add-in
bull Azure Apps and Servicesndash Coding based on NET JavaScript or other
language at your choice
WWWCOLLAB365EVENTS
Best practices - APIs
Embed code on page
User Control
Web PartSharePoint-Hosted Add-
in
SharePoint Provider-
Hosted Add-in
Azure Apps Service
Otherplatforms
Yammer Embed
Yes Yes Yes
Yes with someexceptions as
like follow and commenting
No YesYes if
JavaScript is possible
Yammer JS SDK
No Yes Yes Yes No Yes
Yes ifJavaScript is
possible
REST API NoYes using NET code
Yes using NET code
Yes only through
JavaScript calls
Yes using NET code
Yes
Yes mostlythrough
Javascript calls
WWWCOLLAB365EVENTS
Yammer API
WWWCOLLAB365EVENTS
Yammer API overviewbull Documentation
ndash Documentation got a lot betterndash httpdeveloperyammercomdocumentation
bull Available APIsndash REST APIndash JavaScript SDKndash Other SDKs for iOS Windows Phone 8
Ruby and Python
bull Widgets with Yammer Embedbull Yammer uses the Open Graph protocol for activities
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegt
bull Data returned as JSON
WWWCOLLAB365EVENTS
Register a Yammer Appbull App registration
ndash Go to httpswwwyammercomclient_applications and register an Appndash Register an App for testing
bull What do you get backndash Client ID = 8LIaFJoKeMB6SjDg3nI1LAndash Client Secret = dXHDf0hGYG0I268rtgn
JNUaq8jFJokEUqelVHKKwg
bull Define a redirect URLndash Expected Redirect = httpwwwyammercom
WWWCOLLAB365EVENTS
DEMO
Register a Yammer App
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Registration of a Yammer App
ndash Use it for creating a test app to work on
bull Publishing for use by others
WWWCOLLAB365EVENTS
REST API
WWWCOLLAB365EVENTS
REST API
bull REST interface to Yammer resourcesndash Interface is mostly used by other APIs when accessing data
bull Before accessing REST APIndash Register an App at Yammerndash Your App needs to authenticate a Yammer user through OAuth 2
bull Call REST API endpoints with an access tokenbull Documentation
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsndash Each function has a ldquoTry outrdquo
WWWCOLLAB365EVENTS
Authenticate ndash OAuth flows
bull Server-Side flowndash Referred to as ldquoAuthorization Code Grantrdquondash Use whenever you call the Yammer API from your web
application server
bull Client-Side flowndash Referred to as ldquoImplicit Grantrdquondash Use whenever you need to make API calls from a client
such as JavaScript running in a web browser or from native mobile or desktop applications
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Yammer uses OAuth 2bull User Authentication and App Authorization
ndash httpswwwyammercomdialogoauthclient_id=LIaFJoKeMB6SjDg1LAampredirect_uri=httpwwwyammercom
ndash It requests to login and to authorize the App to use your data
bull After successful login and authorizing the app your are redirectedndash httpswwwyammercomportivanlcode=1U8BguaHAEJokENBsHO8wmcQ
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Get your Access Token
ndash httpswwwyammercomoauth2access_tokenjsonclient_id=8daFanMJOkeB6SjDg31nI1LAampclient_secret=dXHD9f00I268rtgnJJokeNuUaq8j3tUqelVHKKwgampcode=o3Su14YEuowqSJokeCfg
ndash Access Token can be found in the returned JSON
WWWCOLLAB365EVENTS
Authenticate ndash Client-Side flowbull Get your Access Token
ndash httpswwwyammercomdialogoauthclient_id=dIaFnMB6SJokEjg31nI1LAampredirect_uri=httpwwwyammercomampresponse_type=token
ndash Get access token from redirected URLndash httpswwwyammercomportivanlaccess_token=bl7qByjG0CgVag2OJokEc8w
bull Access token is valid for many years or longer
WWWCOLLAB365EVENTS
DEMO
Authentication
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Using REST API calls to authenticate an App
bull Explained the different dialog popups you get and when they are shown
bull Getting the access token
bull Explain the JSON payload returned
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Example of Yammer network
WWWCOLLAB365EVENTS
VersionsBasic
(Freemium)Enterprise
(paid)
Basic Yammer Features X X
Collaboration Features X X
Yammer Mobile X X
Apps X X
Admin Tools X
Network level Apps and integration X
Support and Services X
WWWCOLLAB365EVENTS
Roles and rights
bull More informationndash httpwwwcollabshowcom20140106yammer-roles-permissions-drill-
down
Member All users are at least a member of the Yammer network Ability to use yammer
Group admin The person who created a group becomes the group admin of that group It allows to add and remove members from that group
Network admin admin This role manages the network This requires a ldquopaidrdquo network
Verified admin The role has all the abilities and is sometimes called the one with ldquoGodrdquo rights This requires a ldquopaidrdquo network
WWWCOLLAB365EVENTS
Integration with Yammer
WWWCOLLAB365EVENTS
Integration possibilities
bull SharePoint add-ins ndash On-premises or online
bull Office 365
bull Office add-ins
bull Azure Apps and Services
bull Other platforms
WWWCOLLAB365EVENTS
SharePoint integration in Yammer
bull Yammer Web Partndash Discontinued and stopped working on September 15th 2015
(httpgooglk2LuSs)
bull Yammer Embedndash Microsoftrsquos single solution to integrate Yammer feeds into
SharePoint
bull Other options as document and list integration federated search activity streams single sign-on admin configurationsndash httpsupportmicrosoftcomkb2835453
WWWCOLLAB365EVENTS
SharePoint Add-ins explainedAdd-in
Web
On-
premises
SharePoint
Add-in
Web
SharePoint
Online
Parent Web
(Host)
App Web
Add-in runs on local web server
or in the cloud
High trust is needed
Add-in runs on local web server
or in the cloud
Provider-hosted
SharePoint Add-inThe add-in runs in a separate host
Or as a service Use your own
Choice of server hosting
Architecture Code is allowed
SharePoint-Hosted Add-inCreation of isolated sub web on a parent web
Contains only web elements
Examples are lists out-of-the box Web Parts
No server code allowed only client JavaScript for logic and UX
WWWCOLLAB365EVENTS
What are the possibilitiesbull Embedding code directly on Page
ndash Publishing Page Content Page Any Page
bull Your own custom ndash Web Partndash User Control
bull SharePoint Add-insndash SharePoint hosted Add-inndash Provider-hosted SharePoint Add-in
bull Azure Apps and Servicesndash Coding based on NET JavaScript or other
language at your choice
WWWCOLLAB365EVENTS
Best practices - APIs
Embed code on page
User Control
Web PartSharePoint-Hosted Add-
in
SharePoint Provider-
Hosted Add-in
Azure Apps Service
Otherplatforms
Yammer Embed
Yes Yes Yes
Yes with someexceptions as
like follow and commenting
No YesYes if
JavaScript is possible
Yammer JS SDK
No Yes Yes Yes No Yes
Yes ifJavaScript is
possible
REST API NoYes using NET code
Yes using NET code
Yes only through
JavaScript calls
Yes using NET code
Yes
Yes mostlythrough
Javascript calls
WWWCOLLAB365EVENTS
Yammer API
WWWCOLLAB365EVENTS
Yammer API overviewbull Documentation
ndash Documentation got a lot betterndash httpdeveloperyammercomdocumentation
bull Available APIsndash REST APIndash JavaScript SDKndash Other SDKs for iOS Windows Phone 8
Ruby and Python
bull Widgets with Yammer Embedbull Yammer uses the Open Graph protocol for activities
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegt
bull Data returned as JSON
WWWCOLLAB365EVENTS
Register a Yammer Appbull App registration
ndash Go to httpswwwyammercomclient_applications and register an Appndash Register an App for testing
bull What do you get backndash Client ID = 8LIaFJoKeMB6SjDg3nI1LAndash Client Secret = dXHDf0hGYG0I268rtgn
JNUaq8jFJokEUqelVHKKwg
bull Define a redirect URLndash Expected Redirect = httpwwwyammercom
WWWCOLLAB365EVENTS
DEMO
Register a Yammer App
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Registration of a Yammer App
ndash Use it for creating a test app to work on
bull Publishing for use by others
WWWCOLLAB365EVENTS
REST API
WWWCOLLAB365EVENTS
REST API
bull REST interface to Yammer resourcesndash Interface is mostly used by other APIs when accessing data
bull Before accessing REST APIndash Register an App at Yammerndash Your App needs to authenticate a Yammer user through OAuth 2
bull Call REST API endpoints with an access tokenbull Documentation
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsndash Each function has a ldquoTry outrdquo
WWWCOLLAB365EVENTS
Authenticate ndash OAuth flows
bull Server-Side flowndash Referred to as ldquoAuthorization Code Grantrdquondash Use whenever you call the Yammer API from your web
application server
bull Client-Side flowndash Referred to as ldquoImplicit Grantrdquondash Use whenever you need to make API calls from a client
such as JavaScript running in a web browser or from native mobile or desktop applications
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Yammer uses OAuth 2bull User Authentication and App Authorization
ndash httpswwwyammercomdialogoauthclient_id=LIaFJoKeMB6SjDg1LAampredirect_uri=httpwwwyammercom
ndash It requests to login and to authorize the App to use your data
bull After successful login and authorizing the app your are redirectedndash httpswwwyammercomportivanlcode=1U8BguaHAEJokENBsHO8wmcQ
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Get your Access Token
ndash httpswwwyammercomoauth2access_tokenjsonclient_id=8daFanMJOkeB6SjDg31nI1LAampclient_secret=dXHD9f00I268rtgnJJokeNuUaq8j3tUqelVHKKwgampcode=o3Su14YEuowqSJokeCfg
ndash Access Token can be found in the returned JSON
WWWCOLLAB365EVENTS
Authenticate ndash Client-Side flowbull Get your Access Token
ndash httpswwwyammercomdialogoauthclient_id=dIaFnMB6SJokEjg31nI1LAampredirect_uri=httpwwwyammercomampresponse_type=token
ndash Get access token from redirected URLndash httpswwwyammercomportivanlaccess_token=bl7qByjG0CgVag2OJokEc8w
bull Access token is valid for many years or longer
WWWCOLLAB365EVENTS
DEMO
Authentication
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Using REST API calls to authenticate an App
bull Explained the different dialog popups you get and when they are shown
bull Getting the access token
bull Explain the JSON payload returned
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
VersionsBasic
(Freemium)Enterprise
(paid)
Basic Yammer Features X X
Collaboration Features X X
Yammer Mobile X X
Apps X X
Admin Tools X
Network level Apps and integration X
Support and Services X
WWWCOLLAB365EVENTS
Roles and rights
bull More informationndash httpwwwcollabshowcom20140106yammer-roles-permissions-drill-
down
Member All users are at least a member of the Yammer network Ability to use yammer
Group admin The person who created a group becomes the group admin of that group It allows to add and remove members from that group
Network admin admin This role manages the network This requires a ldquopaidrdquo network
Verified admin The role has all the abilities and is sometimes called the one with ldquoGodrdquo rights This requires a ldquopaidrdquo network
WWWCOLLAB365EVENTS
Integration with Yammer
WWWCOLLAB365EVENTS
Integration possibilities
bull SharePoint add-ins ndash On-premises or online
bull Office 365
bull Office add-ins
bull Azure Apps and Services
bull Other platforms
WWWCOLLAB365EVENTS
SharePoint integration in Yammer
bull Yammer Web Partndash Discontinued and stopped working on September 15th 2015
(httpgooglk2LuSs)
bull Yammer Embedndash Microsoftrsquos single solution to integrate Yammer feeds into
SharePoint
bull Other options as document and list integration federated search activity streams single sign-on admin configurationsndash httpsupportmicrosoftcomkb2835453
WWWCOLLAB365EVENTS
SharePoint Add-ins explainedAdd-in
Web
On-
premises
SharePoint
Add-in
Web
SharePoint
Online
Parent Web
(Host)
App Web
Add-in runs on local web server
or in the cloud
High trust is needed
Add-in runs on local web server
or in the cloud
Provider-hosted
SharePoint Add-inThe add-in runs in a separate host
Or as a service Use your own
Choice of server hosting
Architecture Code is allowed
SharePoint-Hosted Add-inCreation of isolated sub web on a parent web
Contains only web elements
Examples are lists out-of-the box Web Parts
No server code allowed only client JavaScript for logic and UX
WWWCOLLAB365EVENTS
What are the possibilitiesbull Embedding code directly on Page
ndash Publishing Page Content Page Any Page
bull Your own custom ndash Web Partndash User Control
bull SharePoint Add-insndash SharePoint hosted Add-inndash Provider-hosted SharePoint Add-in
bull Azure Apps and Servicesndash Coding based on NET JavaScript or other
language at your choice
WWWCOLLAB365EVENTS
Best practices - APIs
Embed code on page
User Control
Web PartSharePoint-Hosted Add-
in
SharePoint Provider-
Hosted Add-in
Azure Apps Service
Otherplatforms
Yammer Embed
Yes Yes Yes
Yes with someexceptions as
like follow and commenting
No YesYes if
JavaScript is possible
Yammer JS SDK
No Yes Yes Yes No Yes
Yes ifJavaScript is
possible
REST API NoYes using NET code
Yes using NET code
Yes only through
JavaScript calls
Yes using NET code
Yes
Yes mostlythrough
Javascript calls
WWWCOLLAB365EVENTS
Yammer API
WWWCOLLAB365EVENTS
Yammer API overviewbull Documentation
ndash Documentation got a lot betterndash httpdeveloperyammercomdocumentation
bull Available APIsndash REST APIndash JavaScript SDKndash Other SDKs for iOS Windows Phone 8
Ruby and Python
bull Widgets with Yammer Embedbull Yammer uses the Open Graph protocol for activities
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegt
bull Data returned as JSON
WWWCOLLAB365EVENTS
Register a Yammer Appbull App registration
ndash Go to httpswwwyammercomclient_applications and register an Appndash Register an App for testing
bull What do you get backndash Client ID = 8LIaFJoKeMB6SjDg3nI1LAndash Client Secret = dXHDf0hGYG0I268rtgn
JNUaq8jFJokEUqelVHKKwg
bull Define a redirect URLndash Expected Redirect = httpwwwyammercom
WWWCOLLAB365EVENTS
DEMO
Register a Yammer App
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Registration of a Yammer App
ndash Use it for creating a test app to work on
bull Publishing for use by others
WWWCOLLAB365EVENTS
REST API
WWWCOLLAB365EVENTS
REST API
bull REST interface to Yammer resourcesndash Interface is mostly used by other APIs when accessing data
bull Before accessing REST APIndash Register an App at Yammerndash Your App needs to authenticate a Yammer user through OAuth 2
bull Call REST API endpoints with an access tokenbull Documentation
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsndash Each function has a ldquoTry outrdquo
WWWCOLLAB365EVENTS
Authenticate ndash OAuth flows
bull Server-Side flowndash Referred to as ldquoAuthorization Code Grantrdquondash Use whenever you call the Yammer API from your web
application server
bull Client-Side flowndash Referred to as ldquoImplicit Grantrdquondash Use whenever you need to make API calls from a client
such as JavaScript running in a web browser or from native mobile or desktop applications
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Yammer uses OAuth 2bull User Authentication and App Authorization
ndash httpswwwyammercomdialogoauthclient_id=LIaFJoKeMB6SjDg1LAampredirect_uri=httpwwwyammercom
ndash It requests to login and to authorize the App to use your data
bull After successful login and authorizing the app your are redirectedndash httpswwwyammercomportivanlcode=1U8BguaHAEJokENBsHO8wmcQ
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Get your Access Token
ndash httpswwwyammercomoauth2access_tokenjsonclient_id=8daFanMJOkeB6SjDg31nI1LAampclient_secret=dXHD9f00I268rtgnJJokeNuUaq8j3tUqelVHKKwgampcode=o3Su14YEuowqSJokeCfg
ndash Access Token can be found in the returned JSON
WWWCOLLAB365EVENTS
Authenticate ndash Client-Side flowbull Get your Access Token
ndash httpswwwyammercomdialogoauthclient_id=dIaFnMB6SJokEjg31nI1LAampredirect_uri=httpwwwyammercomampresponse_type=token
ndash Get access token from redirected URLndash httpswwwyammercomportivanlaccess_token=bl7qByjG0CgVag2OJokEc8w
bull Access token is valid for many years or longer
WWWCOLLAB365EVENTS
DEMO
Authentication
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Using REST API calls to authenticate an App
bull Explained the different dialog popups you get and when they are shown
bull Getting the access token
bull Explain the JSON payload returned
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Roles and rights
bull More informationndash httpwwwcollabshowcom20140106yammer-roles-permissions-drill-
down
Member All users are at least a member of the Yammer network Ability to use yammer
Group admin The person who created a group becomes the group admin of that group It allows to add and remove members from that group
Network admin admin This role manages the network This requires a ldquopaidrdquo network
Verified admin The role has all the abilities and is sometimes called the one with ldquoGodrdquo rights This requires a ldquopaidrdquo network
WWWCOLLAB365EVENTS
Integration with Yammer
WWWCOLLAB365EVENTS
Integration possibilities
bull SharePoint add-ins ndash On-premises or online
bull Office 365
bull Office add-ins
bull Azure Apps and Services
bull Other platforms
WWWCOLLAB365EVENTS
SharePoint integration in Yammer
bull Yammer Web Partndash Discontinued and stopped working on September 15th 2015
(httpgooglk2LuSs)
bull Yammer Embedndash Microsoftrsquos single solution to integrate Yammer feeds into
SharePoint
bull Other options as document and list integration federated search activity streams single sign-on admin configurationsndash httpsupportmicrosoftcomkb2835453
WWWCOLLAB365EVENTS
SharePoint Add-ins explainedAdd-in
Web
On-
premises
SharePoint
Add-in
Web
SharePoint
Online
Parent Web
(Host)
App Web
Add-in runs on local web server
or in the cloud
High trust is needed
Add-in runs on local web server
or in the cloud
Provider-hosted
SharePoint Add-inThe add-in runs in a separate host
Or as a service Use your own
Choice of server hosting
Architecture Code is allowed
SharePoint-Hosted Add-inCreation of isolated sub web on a parent web
Contains only web elements
Examples are lists out-of-the box Web Parts
No server code allowed only client JavaScript for logic and UX
WWWCOLLAB365EVENTS
What are the possibilitiesbull Embedding code directly on Page
ndash Publishing Page Content Page Any Page
bull Your own custom ndash Web Partndash User Control
bull SharePoint Add-insndash SharePoint hosted Add-inndash Provider-hosted SharePoint Add-in
bull Azure Apps and Servicesndash Coding based on NET JavaScript or other
language at your choice
WWWCOLLAB365EVENTS
Best practices - APIs
Embed code on page
User Control
Web PartSharePoint-Hosted Add-
in
SharePoint Provider-
Hosted Add-in
Azure Apps Service
Otherplatforms
Yammer Embed
Yes Yes Yes
Yes with someexceptions as
like follow and commenting
No YesYes if
JavaScript is possible
Yammer JS SDK
No Yes Yes Yes No Yes
Yes ifJavaScript is
possible
REST API NoYes using NET code
Yes using NET code
Yes only through
JavaScript calls
Yes using NET code
Yes
Yes mostlythrough
Javascript calls
WWWCOLLAB365EVENTS
Yammer API
WWWCOLLAB365EVENTS
Yammer API overviewbull Documentation
ndash Documentation got a lot betterndash httpdeveloperyammercomdocumentation
bull Available APIsndash REST APIndash JavaScript SDKndash Other SDKs for iOS Windows Phone 8
Ruby and Python
bull Widgets with Yammer Embedbull Yammer uses the Open Graph protocol for activities
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegt
bull Data returned as JSON
WWWCOLLAB365EVENTS
Register a Yammer Appbull App registration
ndash Go to httpswwwyammercomclient_applications and register an Appndash Register an App for testing
bull What do you get backndash Client ID = 8LIaFJoKeMB6SjDg3nI1LAndash Client Secret = dXHDf0hGYG0I268rtgn
JNUaq8jFJokEUqelVHKKwg
bull Define a redirect URLndash Expected Redirect = httpwwwyammercom
WWWCOLLAB365EVENTS
DEMO
Register a Yammer App
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Registration of a Yammer App
ndash Use it for creating a test app to work on
bull Publishing for use by others
WWWCOLLAB365EVENTS
REST API
WWWCOLLAB365EVENTS
REST API
bull REST interface to Yammer resourcesndash Interface is mostly used by other APIs when accessing data
bull Before accessing REST APIndash Register an App at Yammerndash Your App needs to authenticate a Yammer user through OAuth 2
bull Call REST API endpoints with an access tokenbull Documentation
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsndash Each function has a ldquoTry outrdquo
WWWCOLLAB365EVENTS
Authenticate ndash OAuth flows
bull Server-Side flowndash Referred to as ldquoAuthorization Code Grantrdquondash Use whenever you call the Yammer API from your web
application server
bull Client-Side flowndash Referred to as ldquoImplicit Grantrdquondash Use whenever you need to make API calls from a client
such as JavaScript running in a web browser or from native mobile or desktop applications
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Yammer uses OAuth 2bull User Authentication and App Authorization
ndash httpswwwyammercomdialogoauthclient_id=LIaFJoKeMB6SjDg1LAampredirect_uri=httpwwwyammercom
ndash It requests to login and to authorize the App to use your data
bull After successful login and authorizing the app your are redirectedndash httpswwwyammercomportivanlcode=1U8BguaHAEJokENBsHO8wmcQ
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Get your Access Token
ndash httpswwwyammercomoauth2access_tokenjsonclient_id=8daFanMJOkeB6SjDg31nI1LAampclient_secret=dXHD9f00I268rtgnJJokeNuUaq8j3tUqelVHKKwgampcode=o3Su14YEuowqSJokeCfg
ndash Access Token can be found in the returned JSON
WWWCOLLAB365EVENTS
Authenticate ndash Client-Side flowbull Get your Access Token
ndash httpswwwyammercomdialogoauthclient_id=dIaFnMB6SJokEjg31nI1LAampredirect_uri=httpwwwyammercomampresponse_type=token
ndash Get access token from redirected URLndash httpswwwyammercomportivanlaccess_token=bl7qByjG0CgVag2OJokEc8w
bull Access token is valid for many years or longer
WWWCOLLAB365EVENTS
DEMO
Authentication
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Using REST API calls to authenticate an App
bull Explained the different dialog popups you get and when they are shown
bull Getting the access token
bull Explain the JSON payload returned
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Integration with Yammer
WWWCOLLAB365EVENTS
Integration possibilities
bull SharePoint add-ins ndash On-premises or online
bull Office 365
bull Office add-ins
bull Azure Apps and Services
bull Other platforms
WWWCOLLAB365EVENTS
SharePoint integration in Yammer
bull Yammer Web Partndash Discontinued and stopped working on September 15th 2015
(httpgooglk2LuSs)
bull Yammer Embedndash Microsoftrsquos single solution to integrate Yammer feeds into
SharePoint
bull Other options as document and list integration federated search activity streams single sign-on admin configurationsndash httpsupportmicrosoftcomkb2835453
WWWCOLLAB365EVENTS
SharePoint Add-ins explainedAdd-in
Web
On-
premises
SharePoint
Add-in
Web
SharePoint
Online
Parent Web
(Host)
App Web
Add-in runs on local web server
or in the cloud
High trust is needed
Add-in runs on local web server
or in the cloud
Provider-hosted
SharePoint Add-inThe add-in runs in a separate host
Or as a service Use your own
Choice of server hosting
Architecture Code is allowed
SharePoint-Hosted Add-inCreation of isolated sub web on a parent web
Contains only web elements
Examples are lists out-of-the box Web Parts
No server code allowed only client JavaScript for logic and UX
WWWCOLLAB365EVENTS
What are the possibilitiesbull Embedding code directly on Page
ndash Publishing Page Content Page Any Page
bull Your own custom ndash Web Partndash User Control
bull SharePoint Add-insndash SharePoint hosted Add-inndash Provider-hosted SharePoint Add-in
bull Azure Apps and Servicesndash Coding based on NET JavaScript or other
language at your choice
WWWCOLLAB365EVENTS
Best practices - APIs
Embed code on page
User Control
Web PartSharePoint-Hosted Add-
in
SharePoint Provider-
Hosted Add-in
Azure Apps Service
Otherplatforms
Yammer Embed
Yes Yes Yes
Yes with someexceptions as
like follow and commenting
No YesYes if
JavaScript is possible
Yammer JS SDK
No Yes Yes Yes No Yes
Yes ifJavaScript is
possible
REST API NoYes using NET code
Yes using NET code
Yes only through
JavaScript calls
Yes using NET code
Yes
Yes mostlythrough
Javascript calls
WWWCOLLAB365EVENTS
Yammer API
WWWCOLLAB365EVENTS
Yammer API overviewbull Documentation
ndash Documentation got a lot betterndash httpdeveloperyammercomdocumentation
bull Available APIsndash REST APIndash JavaScript SDKndash Other SDKs for iOS Windows Phone 8
Ruby and Python
bull Widgets with Yammer Embedbull Yammer uses the Open Graph protocol for activities
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegt
bull Data returned as JSON
WWWCOLLAB365EVENTS
Register a Yammer Appbull App registration
ndash Go to httpswwwyammercomclient_applications and register an Appndash Register an App for testing
bull What do you get backndash Client ID = 8LIaFJoKeMB6SjDg3nI1LAndash Client Secret = dXHDf0hGYG0I268rtgn
JNUaq8jFJokEUqelVHKKwg
bull Define a redirect URLndash Expected Redirect = httpwwwyammercom
WWWCOLLAB365EVENTS
DEMO
Register a Yammer App
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Registration of a Yammer App
ndash Use it for creating a test app to work on
bull Publishing for use by others
WWWCOLLAB365EVENTS
REST API
WWWCOLLAB365EVENTS
REST API
bull REST interface to Yammer resourcesndash Interface is mostly used by other APIs when accessing data
bull Before accessing REST APIndash Register an App at Yammerndash Your App needs to authenticate a Yammer user through OAuth 2
bull Call REST API endpoints with an access tokenbull Documentation
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsndash Each function has a ldquoTry outrdquo
WWWCOLLAB365EVENTS
Authenticate ndash OAuth flows
bull Server-Side flowndash Referred to as ldquoAuthorization Code Grantrdquondash Use whenever you call the Yammer API from your web
application server
bull Client-Side flowndash Referred to as ldquoImplicit Grantrdquondash Use whenever you need to make API calls from a client
such as JavaScript running in a web browser or from native mobile or desktop applications
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Yammer uses OAuth 2bull User Authentication and App Authorization
ndash httpswwwyammercomdialogoauthclient_id=LIaFJoKeMB6SjDg1LAampredirect_uri=httpwwwyammercom
ndash It requests to login and to authorize the App to use your data
bull After successful login and authorizing the app your are redirectedndash httpswwwyammercomportivanlcode=1U8BguaHAEJokENBsHO8wmcQ
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Get your Access Token
ndash httpswwwyammercomoauth2access_tokenjsonclient_id=8daFanMJOkeB6SjDg31nI1LAampclient_secret=dXHD9f00I268rtgnJJokeNuUaq8j3tUqelVHKKwgampcode=o3Su14YEuowqSJokeCfg
ndash Access Token can be found in the returned JSON
WWWCOLLAB365EVENTS
Authenticate ndash Client-Side flowbull Get your Access Token
ndash httpswwwyammercomdialogoauthclient_id=dIaFnMB6SJokEjg31nI1LAampredirect_uri=httpwwwyammercomampresponse_type=token
ndash Get access token from redirected URLndash httpswwwyammercomportivanlaccess_token=bl7qByjG0CgVag2OJokEc8w
bull Access token is valid for many years or longer
WWWCOLLAB365EVENTS
DEMO
Authentication
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Using REST API calls to authenticate an App
bull Explained the different dialog popups you get and when they are shown
bull Getting the access token
bull Explain the JSON payload returned
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Integration possibilities
bull SharePoint add-ins ndash On-premises or online
bull Office 365
bull Office add-ins
bull Azure Apps and Services
bull Other platforms
WWWCOLLAB365EVENTS
SharePoint integration in Yammer
bull Yammer Web Partndash Discontinued and stopped working on September 15th 2015
(httpgooglk2LuSs)
bull Yammer Embedndash Microsoftrsquos single solution to integrate Yammer feeds into
SharePoint
bull Other options as document and list integration federated search activity streams single sign-on admin configurationsndash httpsupportmicrosoftcomkb2835453
WWWCOLLAB365EVENTS
SharePoint Add-ins explainedAdd-in
Web
On-
premises
SharePoint
Add-in
Web
SharePoint
Online
Parent Web
(Host)
App Web
Add-in runs on local web server
or in the cloud
High trust is needed
Add-in runs on local web server
or in the cloud
Provider-hosted
SharePoint Add-inThe add-in runs in a separate host
Or as a service Use your own
Choice of server hosting
Architecture Code is allowed
SharePoint-Hosted Add-inCreation of isolated sub web on a parent web
Contains only web elements
Examples are lists out-of-the box Web Parts
No server code allowed only client JavaScript for logic and UX
WWWCOLLAB365EVENTS
What are the possibilitiesbull Embedding code directly on Page
ndash Publishing Page Content Page Any Page
bull Your own custom ndash Web Partndash User Control
bull SharePoint Add-insndash SharePoint hosted Add-inndash Provider-hosted SharePoint Add-in
bull Azure Apps and Servicesndash Coding based on NET JavaScript or other
language at your choice
WWWCOLLAB365EVENTS
Best practices - APIs
Embed code on page
User Control
Web PartSharePoint-Hosted Add-
in
SharePoint Provider-
Hosted Add-in
Azure Apps Service
Otherplatforms
Yammer Embed
Yes Yes Yes
Yes with someexceptions as
like follow and commenting
No YesYes if
JavaScript is possible
Yammer JS SDK
No Yes Yes Yes No Yes
Yes ifJavaScript is
possible
REST API NoYes using NET code
Yes using NET code
Yes only through
JavaScript calls
Yes using NET code
Yes
Yes mostlythrough
Javascript calls
WWWCOLLAB365EVENTS
Yammer API
WWWCOLLAB365EVENTS
Yammer API overviewbull Documentation
ndash Documentation got a lot betterndash httpdeveloperyammercomdocumentation
bull Available APIsndash REST APIndash JavaScript SDKndash Other SDKs for iOS Windows Phone 8
Ruby and Python
bull Widgets with Yammer Embedbull Yammer uses the Open Graph protocol for activities
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegt
bull Data returned as JSON
WWWCOLLAB365EVENTS
Register a Yammer Appbull App registration
ndash Go to httpswwwyammercomclient_applications and register an Appndash Register an App for testing
bull What do you get backndash Client ID = 8LIaFJoKeMB6SjDg3nI1LAndash Client Secret = dXHDf0hGYG0I268rtgn
JNUaq8jFJokEUqelVHKKwg
bull Define a redirect URLndash Expected Redirect = httpwwwyammercom
WWWCOLLAB365EVENTS
DEMO
Register a Yammer App
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Registration of a Yammer App
ndash Use it for creating a test app to work on
bull Publishing for use by others
WWWCOLLAB365EVENTS
REST API
WWWCOLLAB365EVENTS
REST API
bull REST interface to Yammer resourcesndash Interface is mostly used by other APIs when accessing data
bull Before accessing REST APIndash Register an App at Yammerndash Your App needs to authenticate a Yammer user through OAuth 2
bull Call REST API endpoints with an access tokenbull Documentation
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsndash Each function has a ldquoTry outrdquo
WWWCOLLAB365EVENTS
Authenticate ndash OAuth flows
bull Server-Side flowndash Referred to as ldquoAuthorization Code Grantrdquondash Use whenever you call the Yammer API from your web
application server
bull Client-Side flowndash Referred to as ldquoImplicit Grantrdquondash Use whenever you need to make API calls from a client
such as JavaScript running in a web browser or from native mobile or desktop applications
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Yammer uses OAuth 2bull User Authentication and App Authorization
ndash httpswwwyammercomdialogoauthclient_id=LIaFJoKeMB6SjDg1LAampredirect_uri=httpwwwyammercom
ndash It requests to login and to authorize the App to use your data
bull After successful login and authorizing the app your are redirectedndash httpswwwyammercomportivanlcode=1U8BguaHAEJokENBsHO8wmcQ
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Get your Access Token
ndash httpswwwyammercomoauth2access_tokenjsonclient_id=8daFanMJOkeB6SjDg31nI1LAampclient_secret=dXHD9f00I268rtgnJJokeNuUaq8j3tUqelVHKKwgampcode=o3Su14YEuowqSJokeCfg
ndash Access Token can be found in the returned JSON
WWWCOLLAB365EVENTS
Authenticate ndash Client-Side flowbull Get your Access Token
ndash httpswwwyammercomdialogoauthclient_id=dIaFnMB6SJokEjg31nI1LAampredirect_uri=httpwwwyammercomampresponse_type=token
ndash Get access token from redirected URLndash httpswwwyammercomportivanlaccess_token=bl7qByjG0CgVag2OJokEc8w
bull Access token is valid for many years or longer
WWWCOLLAB365EVENTS
DEMO
Authentication
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Using REST API calls to authenticate an App
bull Explained the different dialog popups you get and when they are shown
bull Getting the access token
bull Explain the JSON payload returned
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
SharePoint integration in Yammer
bull Yammer Web Partndash Discontinued and stopped working on September 15th 2015
(httpgooglk2LuSs)
bull Yammer Embedndash Microsoftrsquos single solution to integrate Yammer feeds into
SharePoint
bull Other options as document and list integration federated search activity streams single sign-on admin configurationsndash httpsupportmicrosoftcomkb2835453
WWWCOLLAB365EVENTS
SharePoint Add-ins explainedAdd-in
Web
On-
premises
SharePoint
Add-in
Web
SharePoint
Online
Parent Web
(Host)
App Web
Add-in runs on local web server
or in the cloud
High trust is needed
Add-in runs on local web server
or in the cloud
Provider-hosted
SharePoint Add-inThe add-in runs in a separate host
Or as a service Use your own
Choice of server hosting
Architecture Code is allowed
SharePoint-Hosted Add-inCreation of isolated sub web on a parent web
Contains only web elements
Examples are lists out-of-the box Web Parts
No server code allowed only client JavaScript for logic and UX
WWWCOLLAB365EVENTS
What are the possibilitiesbull Embedding code directly on Page
ndash Publishing Page Content Page Any Page
bull Your own custom ndash Web Partndash User Control
bull SharePoint Add-insndash SharePoint hosted Add-inndash Provider-hosted SharePoint Add-in
bull Azure Apps and Servicesndash Coding based on NET JavaScript or other
language at your choice
WWWCOLLAB365EVENTS
Best practices - APIs
Embed code on page
User Control
Web PartSharePoint-Hosted Add-
in
SharePoint Provider-
Hosted Add-in
Azure Apps Service
Otherplatforms
Yammer Embed
Yes Yes Yes
Yes with someexceptions as
like follow and commenting
No YesYes if
JavaScript is possible
Yammer JS SDK
No Yes Yes Yes No Yes
Yes ifJavaScript is
possible
REST API NoYes using NET code
Yes using NET code
Yes only through
JavaScript calls
Yes using NET code
Yes
Yes mostlythrough
Javascript calls
WWWCOLLAB365EVENTS
Yammer API
WWWCOLLAB365EVENTS
Yammer API overviewbull Documentation
ndash Documentation got a lot betterndash httpdeveloperyammercomdocumentation
bull Available APIsndash REST APIndash JavaScript SDKndash Other SDKs for iOS Windows Phone 8
Ruby and Python
bull Widgets with Yammer Embedbull Yammer uses the Open Graph protocol for activities
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegt
bull Data returned as JSON
WWWCOLLAB365EVENTS
Register a Yammer Appbull App registration
ndash Go to httpswwwyammercomclient_applications and register an Appndash Register an App for testing
bull What do you get backndash Client ID = 8LIaFJoKeMB6SjDg3nI1LAndash Client Secret = dXHDf0hGYG0I268rtgn
JNUaq8jFJokEUqelVHKKwg
bull Define a redirect URLndash Expected Redirect = httpwwwyammercom
WWWCOLLAB365EVENTS
DEMO
Register a Yammer App
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Registration of a Yammer App
ndash Use it for creating a test app to work on
bull Publishing for use by others
WWWCOLLAB365EVENTS
REST API
WWWCOLLAB365EVENTS
REST API
bull REST interface to Yammer resourcesndash Interface is mostly used by other APIs when accessing data
bull Before accessing REST APIndash Register an App at Yammerndash Your App needs to authenticate a Yammer user through OAuth 2
bull Call REST API endpoints with an access tokenbull Documentation
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsndash Each function has a ldquoTry outrdquo
WWWCOLLAB365EVENTS
Authenticate ndash OAuth flows
bull Server-Side flowndash Referred to as ldquoAuthorization Code Grantrdquondash Use whenever you call the Yammer API from your web
application server
bull Client-Side flowndash Referred to as ldquoImplicit Grantrdquondash Use whenever you need to make API calls from a client
such as JavaScript running in a web browser or from native mobile or desktop applications
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Yammer uses OAuth 2bull User Authentication and App Authorization
ndash httpswwwyammercomdialogoauthclient_id=LIaFJoKeMB6SjDg1LAampredirect_uri=httpwwwyammercom
ndash It requests to login and to authorize the App to use your data
bull After successful login and authorizing the app your are redirectedndash httpswwwyammercomportivanlcode=1U8BguaHAEJokENBsHO8wmcQ
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Get your Access Token
ndash httpswwwyammercomoauth2access_tokenjsonclient_id=8daFanMJOkeB6SjDg31nI1LAampclient_secret=dXHD9f00I268rtgnJJokeNuUaq8j3tUqelVHKKwgampcode=o3Su14YEuowqSJokeCfg
ndash Access Token can be found in the returned JSON
WWWCOLLAB365EVENTS
Authenticate ndash Client-Side flowbull Get your Access Token
ndash httpswwwyammercomdialogoauthclient_id=dIaFnMB6SJokEjg31nI1LAampredirect_uri=httpwwwyammercomampresponse_type=token
ndash Get access token from redirected URLndash httpswwwyammercomportivanlaccess_token=bl7qByjG0CgVag2OJokEc8w
bull Access token is valid for many years or longer
WWWCOLLAB365EVENTS
DEMO
Authentication
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Using REST API calls to authenticate an App
bull Explained the different dialog popups you get and when they are shown
bull Getting the access token
bull Explain the JSON payload returned
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
SharePoint Add-ins explainedAdd-in
Web
On-
premises
SharePoint
Add-in
Web
SharePoint
Online
Parent Web
(Host)
App Web
Add-in runs on local web server
or in the cloud
High trust is needed
Add-in runs on local web server
or in the cloud
Provider-hosted
SharePoint Add-inThe add-in runs in a separate host
Or as a service Use your own
Choice of server hosting
Architecture Code is allowed
SharePoint-Hosted Add-inCreation of isolated sub web on a parent web
Contains only web elements
Examples are lists out-of-the box Web Parts
No server code allowed only client JavaScript for logic and UX
WWWCOLLAB365EVENTS
What are the possibilitiesbull Embedding code directly on Page
ndash Publishing Page Content Page Any Page
bull Your own custom ndash Web Partndash User Control
bull SharePoint Add-insndash SharePoint hosted Add-inndash Provider-hosted SharePoint Add-in
bull Azure Apps and Servicesndash Coding based on NET JavaScript or other
language at your choice
WWWCOLLAB365EVENTS
Best practices - APIs
Embed code on page
User Control
Web PartSharePoint-Hosted Add-
in
SharePoint Provider-
Hosted Add-in
Azure Apps Service
Otherplatforms
Yammer Embed
Yes Yes Yes
Yes with someexceptions as
like follow and commenting
No YesYes if
JavaScript is possible
Yammer JS SDK
No Yes Yes Yes No Yes
Yes ifJavaScript is
possible
REST API NoYes using NET code
Yes using NET code
Yes only through
JavaScript calls
Yes using NET code
Yes
Yes mostlythrough
Javascript calls
WWWCOLLAB365EVENTS
Yammer API
WWWCOLLAB365EVENTS
Yammer API overviewbull Documentation
ndash Documentation got a lot betterndash httpdeveloperyammercomdocumentation
bull Available APIsndash REST APIndash JavaScript SDKndash Other SDKs for iOS Windows Phone 8
Ruby and Python
bull Widgets with Yammer Embedbull Yammer uses the Open Graph protocol for activities
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegt
bull Data returned as JSON
WWWCOLLAB365EVENTS
Register a Yammer Appbull App registration
ndash Go to httpswwwyammercomclient_applications and register an Appndash Register an App for testing
bull What do you get backndash Client ID = 8LIaFJoKeMB6SjDg3nI1LAndash Client Secret = dXHDf0hGYG0I268rtgn
JNUaq8jFJokEUqelVHKKwg
bull Define a redirect URLndash Expected Redirect = httpwwwyammercom
WWWCOLLAB365EVENTS
DEMO
Register a Yammer App
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Registration of a Yammer App
ndash Use it for creating a test app to work on
bull Publishing for use by others
WWWCOLLAB365EVENTS
REST API
WWWCOLLAB365EVENTS
REST API
bull REST interface to Yammer resourcesndash Interface is mostly used by other APIs when accessing data
bull Before accessing REST APIndash Register an App at Yammerndash Your App needs to authenticate a Yammer user through OAuth 2
bull Call REST API endpoints with an access tokenbull Documentation
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsndash Each function has a ldquoTry outrdquo
WWWCOLLAB365EVENTS
Authenticate ndash OAuth flows
bull Server-Side flowndash Referred to as ldquoAuthorization Code Grantrdquondash Use whenever you call the Yammer API from your web
application server
bull Client-Side flowndash Referred to as ldquoImplicit Grantrdquondash Use whenever you need to make API calls from a client
such as JavaScript running in a web browser or from native mobile or desktop applications
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Yammer uses OAuth 2bull User Authentication and App Authorization
ndash httpswwwyammercomdialogoauthclient_id=LIaFJoKeMB6SjDg1LAampredirect_uri=httpwwwyammercom
ndash It requests to login and to authorize the App to use your data
bull After successful login and authorizing the app your are redirectedndash httpswwwyammercomportivanlcode=1U8BguaHAEJokENBsHO8wmcQ
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Get your Access Token
ndash httpswwwyammercomoauth2access_tokenjsonclient_id=8daFanMJOkeB6SjDg31nI1LAampclient_secret=dXHD9f00I268rtgnJJokeNuUaq8j3tUqelVHKKwgampcode=o3Su14YEuowqSJokeCfg
ndash Access Token can be found in the returned JSON
WWWCOLLAB365EVENTS
Authenticate ndash Client-Side flowbull Get your Access Token
ndash httpswwwyammercomdialogoauthclient_id=dIaFnMB6SJokEjg31nI1LAampredirect_uri=httpwwwyammercomampresponse_type=token
ndash Get access token from redirected URLndash httpswwwyammercomportivanlaccess_token=bl7qByjG0CgVag2OJokEc8w
bull Access token is valid for many years or longer
WWWCOLLAB365EVENTS
DEMO
Authentication
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Using REST API calls to authenticate an App
bull Explained the different dialog popups you get and when they are shown
bull Getting the access token
bull Explain the JSON payload returned
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
What are the possibilitiesbull Embedding code directly on Page
ndash Publishing Page Content Page Any Page
bull Your own custom ndash Web Partndash User Control
bull SharePoint Add-insndash SharePoint hosted Add-inndash Provider-hosted SharePoint Add-in
bull Azure Apps and Servicesndash Coding based on NET JavaScript or other
language at your choice
WWWCOLLAB365EVENTS
Best practices - APIs
Embed code on page
User Control
Web PartSharePoint-Hosted Add-
in
SharePoint Provider-
Hosted Add-in
Azure Apps Service
Otherplatforms
Yammer Embed
Yes Yes Yes
Yes with someexceptions as
like follow and commenting
No YesYes if
JavaScript is possible
Yammer JS SDK
No Yes Yes Yes No Yes
Yes ifJavaScript is
possible
REST API NoYes using NET code
Yes using NET code
Yes only through
JavaScript calls
Yes using NET code
Yes
Yes mostlythrough
Javascript calls
WWWCOLLAB365EVENTS
Yammer API
WWWCOLLAB365EVENTS
Yammer API overviewbull Documentation
ndash Documentation got a lot betterndash httpdeveloperyammercomdocumentation
bull Available APIsndash REST APIndash JavaScript SDKndash Other SDKs for iOS Windows Phone 8
Ruby and Python
bull Widgets with Yammer Embedbull Yammer uses the Open Graph protocol for activities
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegt
bull Data returned as JSON
WWWCOLLAB365EVENTS
Register a Yammer Appbull App registration
ndash Go to httpswwwyammercomclient_applications and register an Appndash Register an App for testing
bull What do you get backndash Client ID = 8LIaFJoKeMB6SjDg3nI1LAndash Client Secret = dXHDf0hGYG0I268rtgn
JNUaq8jFJokEUqelVHKKwg
bull Define a redirect URLndash Expected Redirect = httpwwwyammercom
WWWCOLLAB365EVENTS
DEMO
Register a Yammer App
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Registration of a Yammer App
ndash Use it for creating a test app to work on
bull Publishing for use by others
WWWCOLLAB365EVENTS
REST API
WWWCOLLAB365EVENTS
REST API
bull REST interface to Yammer resourcesndash Interface is mostly used by other APIs when accessing data
bull Before accessing REST APIndash Register an App at Yammerndash Your App needs to authenticate a Yammer user through OAuth 2
bull Call REST API endpoints with an access tokenbull Documentation
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsndash Each function has a ldquoTry outrdquo
WWWCOLLAB365EVENTS
Authenticate ndash OAuth flows
bull Server-Side flowndash Referred to as ldquoAuthorization Code Grantrdquondash Use whenever you call the Yammer API from your web
application server
bull Client-Side flowndash Referred to as ldquoImplicit Grantrdquondash Use whenever you need to make API calls from a client
such as JavaScript running in a web browser or from native mobile or desktop applications
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Yammer uses OAuth 2bull User Authentication and App Authorization
ndash httpswwwyammercomdialogoauthclient_id=LIaFJoKeMB6SjDg1LAampredirect_uri=httpwwwyammercom
ndash It requests to login and to authorize the App to use your data
bull After successful login and authorizing the app your are redirectedndash httpswwwyammercomportivanlcode=1U8BguaHAEJokENBsHO8wmcQ
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Get your Access Token
ndash httpswwwyammercomoauth2access_tokenjsonclient_id=8daFanMJOkeB6SjDg31nI1LAampclient_secret=dXHD9f00I268rtgnJJokeNuUaq8j3tUqelVHKKwgampcode=o3Su14YEuowqSJokeCfg
ndash Access Token can be found in the returned JSON
WWWCOLLAB365EVENTS
Authenticate ndash Client-Side flowbull Get your Access Token
ndash httpswwwyammercomdialogoauthclient_id=dIaFnMB6SJokEjg31nI1LAampredirect_uri=httpwwwyammercomampresponse_type=token
ndash Get access token from redirected URLndash httpswwwyammercomportivanlaccess_token=bl7qByjG0CgVag2OJokEc8w
bull Access token is valid for many years or longer
WWWCOLLAB365EVENTS
DEMO
Authentication
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Using REST API calls to authenticate an App
bull Explained the different dialog popups you get and when they are shown
bull Getting the access token
bull Explain the JSON payload returned
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Best practices - APIs
Embed code on page
User Control
Web PartSharePoint-Hosted Add-
in
SharePoint Provider-
Hosted Add-in
Azure Apps Service
Otherplatforms
Yammer Embed
Yes Yes Yes
Yes with someexceptions as
like follow and commenting
No YesYes if
JavaScript is possible
Yammer JS SDK
No Yes Yes Yes No Yes
Yes ifJavaScript is
possible
REST API NoYes using NET code
Yes using NET code
Yes only through
JavaScript calls
Yes using NET code
Yes
Yes mostlythrough
Javascript calls
WWWCOLLAB365EVENTS
Yammer API
WWWCOLLAB365EVENTS
Yammer API overviewbull Documentation
ndash Documentation got a lot betterndash httpdeveloperyammercomdocumentation
bull Available APIsndash REST APIndash JavaScript SDKndash Other SDKs for iOS Windows Phone 8
Ruby and Python
bull Widgets with Yammer Embedbull Yammer uses the Open Graph protocol for activities
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegt
bull Data returned as JSON
WWWCOLLAB365EVENTS
Register a Yammer Appbull App registration
ndash Go to httpswwwyammercomclient_applications and register an Appndash Register an App for testing
bull What do you get backndash Client ID = 8LIaFJoKeMB6SjDg3nI1LAndash Client Secret = dXHDf0hGYG0I268rtgn
JNUaq8jFJokEUqelVHKKwg
bull Define a redirect URLndash Expected Redirect = httpwwwyammercom
WWWCOLLAB365EVENTS
DEMO
Register a Yammer App
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Registration of a Yammer App
ndash Use it for creating a test app to work on
bull Publishing for use by others
WWWCOLLAB365EVENTS
REST API
WWWCOLLAB365EVENTS
REST API
bull REST interface to Yammer resourcesndash Interface is mostly used by other APIs when accessing data
bull Before accessing REST APIndash Register an App at Yammerndash Your App needs to authenticate a Yammer user through OAuth 2
bull Call REST API endpoints with an access tokenbull Documentation
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsndash Each function has a ldquoTry outrdquo
WWWCOLLAB365EVENTS
Authenticate ndash OAuth flows
bull Server-Side flowndash Referred to as ldquoAuthorization Code Grantrdquondash Use whenever you call the Yammer API from your web
application server
bull Client-Side flowndash Referred to as ldquoImplicit Grantrdquondash Use whenever you need to make API calls from a client
such as JavaScript running in a web browser or from native mobile or desktop applications
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Yammer uses OAuth 2bull User Authentication and App Authorization
ndash httpswwwyammercomdialogoauthclient_id=LIaFJoKeMB6SjDg1LAampredirect_uri=httpwwwyammercom
ndash It requests to login and to authorize the App to use your data
bull After successful login and authorizing the app your are redirectedndash httpswwwyammercomportivanlcode=1U8BguaHAEJokENBsHO8wmcQ
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Get your Access Token
ndash httpswwwyammercomoauth2access_tokenjsonclient_id=8daFanMJOkeB6SjDg31nI1LAampclient_secret=dXHD9f00I268rtgnJJokeNuUaq8j3tUqelVHKKwgampcode=o3Su14YEuowqSJokeCfg
ndash Access Token can be found in the returned JSON
WWWCOLLAB365EVENTS
Authenticate ndash Client-Side flowbull Get your Access Token
ndash httpswwwyammercomdialogoauthclient_id=dIaFnMB6SJokEjg31nI1LAampredirect_uri=httpwwwyammercomampresponse_type=token
ndash Get access token from redirected URLndash httpswwwyammercomportivanlaccess_token=bl7qByjG0CgVag2OJokEc8w
bull Access token is valid for many years or longer
WWWCOLLAB365EVENTS
DEMO
Authentication
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Using REST API calls to authenticate an App
bull Explained the different dialog popups you get and when they are shown
bull Getting the access token
bull Explain the JSON payload returned
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Yammer API
WWWCOLLAB365EVENTS
Yammer API overviewbull Documentation
ndash Documentation got a lot betterndash httpdeveloperyammercomdocumentation
bull Available APIsndash REST APIndash JavaScript SDKndash Other SDKs for iOS Windows Phone 8
Ruby and Python
bull Widgets with Yammer Embedbull Yammer uses the Open Graph protocol for activities
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegt
bull Data returned as JSON
WWWCOLLAB365EVENTS
Register a Yammer Appbull App registration
ndash Go to httpswwwyammercomclient_applications and register an Appndash Register an App for testing
bull What do you get backndash Client ID = 8LIaFJoKeMB6SjDg3nI1LAndash Client Secret = dXHDf0hGYG0I268rtgn
JNUaq8jFJokEUqelVHKKwg
bull Define a redirect URLndash Expected Redirect = httpwwwyammercom
WWWCOLLAB365EVENTS
DEMO
Register a Yammer App
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Registration of a Yammer App
ndash Use it for creating a test app to work on
bull Publishing for use by others
WWWCOLLAB365EVENTS
REST API
WWWCOLLAB365EVENTS
REST API
bull REST interface to Yammer resourcesndash Interface is mostly used by other APIs when accessing data
bull Before accessing REST APIndash Register an App at Yammerndash Your App needs to authenticate a Yammer user through OAuth 2
bull Call REST API endpoints with an access tokenbull Documentation
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsndash Each function has a ldquoTry outrdquo
WWWCOLLAB365EVENTS
Authenticate ndash OAuth flows
bull Server-Side flowndash Referred to as ldquoAuthorization Code Grantrdquondash Use whenever you call the Yammer API from your web
application server
bull Client-Side flowndash Referred to as ldquoImplicit Grantrdquondash Use whenever you need to make API calls from a client
such as JavaScript running in a web browser or from native mobile or desktop applications
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Yammer uses OAuth 2bull User Authentication and App Authorization
ndash httpswwwyammercomdialogoauthclient_id=LIaFJoKeMB6SjDg1LAampredirect_uri=httpwwwyammercom
ndash It requests to login and to authorize the App to use your data
bull After successful login and authorizing the app your are redirectedndash httpswwwyammercomportivanlcode=1U8BguaHAEJokENBsHO8wmcQ
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Get your Access Token
ndash httpswwwyammercomoauth2access_tokenjsonclient_id=8daFanMJOkeB6SjDg31nI1LAampclient_secret=dXHD9f00I268rtgnJJokeNuUaq8j3tUqelVHKKwgampcode=o3Su14YEuowqSJokeCfg
ndash Access Token can be found in the returned JSON
WWWCOLLAB365EVENTS
Authenticate ndash Client-Side flowbull Get your Access Token
ndash httpswwwyammercomdialogoauthclient_id=dIaFnMB6SJokEjg31nI1LAampredirect_uri=httpwwwyammercomampresponse_type=token
ndash Get access token from redirected URLndash httpswwwyammercomportivanlaccess_token=bl7qByjG0CgVag2OJokEc8w
bull Access token is valid for many years or longer
WWWCOLLAB365EVENTS
DEMO
Authentication
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Using REST API calls to authenticate an App
bull Explained the different dialog popups you get and when they are shown
bull Getting the access token
bull Explain the JSON payload returned
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Yammer API overviewbull Documentation
ndash Documentation got a lot betterndash httpdeveloperyammercomdocumentation
bull Available APIsndash REST APIndash JavaScript SDKndash Other SDKs for iOS Windows Phone 8
Ruby and Python
bull Widgets with Yammer Embedbull Yammer uses the Open Graph protocol for activities
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegt
bull Data returned as JSON
WWWCOLLAB365EVENTS
Register a Yammer Appbull App registration
ndash Go to httpswwwyammercomclient_applications and register an Appndash Register an App for testing
bull What do you get backndash Client ID = 8LIaFJoKeMB6SjDg3nI1LAndash Client Secret = dXHDf0hGYG0I268rtgn
JNUaq8jFJokEUqelVHKKwg
bull Define a redirect URLndash Expected Redirect = httpwwwyammercom
WWWCOLLAB365EVENTS
DEMO
Register a Yammer App
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Registration of a Yammer App
ndash Use it for creating a test app to work on
bull Publishing for use by others
WWWCOLLAB365EVENTS
REST API
WWWCOLLAB365EVENTS
REST API
bull REST interface to Yammer resourcesndash Interface is mostly used by other APIs when accessing data
bull Before accessing REST APIndash Register an App at Yammerndash Your App needs to authenticate a Yammer user through OAuth 2
bull Call REST API endpoints with an access tokenbull Documentation
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsndash Each function has a ldquoTry outrdquo
WWWCOLLAB365EVENTS
Authenticate ndash OAuth flows
bull Server-Side flowndash Referred to as ldquoAuthorization Code Grantrdquondash Use whenever you call the Yammer API from your web
application server
bull Client-Side flowndash Referred to as ldquoImplicit Grantrdquondash Use whenever you need to make API calls from a client
such as JavaScript running in a web browser or from native mobile or desktop applications
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Yammer uses OAuth 2bull User Authentication and App Authorization
ndash httpswwwyammercomdialogoauthclient_id=LIaFJoKeMB6SjDg1LAampredirect_uri=httpwwwyammercom
ndash It requests to login and to authorize the App to use your data
bull After successful login and authorizing the app your are redirectedndash httpswwwyammercomportivanlcode=1U8BguaHAEJokENBsHO8wmcQ
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Get your Access Token
ndash httpswwwyammercomoauth2access_tokenjsonclient_id=8daFanMJOkeB6SjDg31nI1LAampclient_secret=dXHD9f00I268rtgnJJokeNuUaq8j3tUqelVHKKwgampcode=o3Su14YEuowqSJokeCfg
ndash Access Token can be found in the returned JSON
WWWCOLLAB365EVENTS
Authenticate ndash Client-Side flowbull Get your Access Token
ndash httpswwwyammercomdialogoauthclient_id=dIaFnMB6SJokEjg31nI1LAampredirect_uri=httpwwwyammercomampresponse_type=token
ndash Get access token from redirected URLndash httpswwwyammercomportivanlaccess_token=bl7qByjG0CgVag2OJokEc8w
bull Access token is valid for many years or longer
WWWCOLLAB365EVENTS
DEMO
Authentication
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Using REST API calls to authenticate an App
bull Explained the different dialog popups you get and when they are shown
bull Getting the access token
bull Explain the JSON payload returned
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Register a Yammer Appbull App registration
ndash Go to httpswwwyammercomclient_applications and register an Appndash Register an App for testing
bull What do you get backndash Client ID = 8LIaFJoKeMB6SjDg3nI1LAndash Client Secret = dXHDf0hGYG0I268rtgn
JNUaq8jFJokEUqelVHKKwg
bull Define a redirect URLndash Expected Redirect = httpwwwyammercom
WWWCOLLAB365EVENTS
DEMO
Register a Yammer App
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Registration of a Yammer App
ndash Use it for creating a test app to work on
bull Publishing for use by others
WWWCOLLAB365EVENTS
REST API
WWWCOLLAB365EVENTS
REST API
bull REST interface to Yammer resourcesndash Interface is mostly used by other APIs when accessing data
bull Before accessing REST APIndash Register an App at Yammerndash Your App needs to authenticate a Yammer user through OAuth 2
bull Call REST API endpoints with an access tokenbull Documentation
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsndash Each function has a ldquoTry outrdquo
WWWCOLLAB365EVENTS
Authenticate ndash OAuth flows
bull Server-Side flowndash Referred to as ldquoAuthorization Code Grantrdquondash Use whenever you call the Yammer API from your web
application server
bull Client-Side flowndash Referred to as ldquoImplicit Grantrdquondash Use whenever you need to make API calls from a client
such as JavaScript running in a web browser or from native mobile or desktop applications
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Yammer uses OAuth 2bull User Authentication and App Authorization
ndash httpswwwyammercomdialogoauthclient_id=LIaFJoKeMB6SjDg1LAampredirect_uri=httpwwwyammercom
ndash It requests to login and to authorize the App to use your data
bull After successful login and authorizing the app your are redirectedndash httpswwwyammercomportivanlcode=1U8BguaHAEJokENBsHO8wmcQ
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Get your Access Token
ndash httpswwwyammercomoauth2access_tokenjsonclient_id=8daFanMJOkeB6SjDg31nI1LAampclient_secret=dXHD9f00I268rtgnJJokeNuUaq8j3tUqelVHKKwgampcode=o3Su14YEuowqSJokeCfg
ndash Access Token can be found in the returned JSON
WWWCOLLAB365EVENTS
Authenticate ndash Client-Side flowbull Get your Access Token
ndash httpswwwyammercomdialogoauthclient_id=dIaFnMB6SJokEjg31nI1LAampredirect_uri=httpwwwyammercomampresponse_type=token
ndash Get access token from redirected URLndash httpswwwyammercomportivanlaccess_token=bl7qByjG0CgVag2OJokEc8w
bull Access token is valid for many years or longer
WWWCOLLAB365EVENTS
DEMO
Authentication
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Using REST API calls to authenticate an App
bull Explained the different dialog popups you get and when they are shown
bull Getting the access token
bull Explain the JSON payload returned
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
DEMO
Register a Yammer App
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Registration of a Yammer App
ndash Use it for creating a test app to work on
bull Publishing for use by others
WWWCOLLAB365EVENTS
REST API
WWWCOLLAB365EVENTS
REST API
bull REST interface to Yammer resourcesndash Interface is mostly used by other APIs when accessing data
bull Before accessing REST APIndash Register an App at Yammerndash Your App needs to authenticate a Yammer user through OAuth 2
bull Call REST API endpoints with an access tokenbull Documentation
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsndash Each function has a ldquoTry outrdquo
WWWCOLLAB365EVENTS
Authenticate ndash OAuth flows
bull Server-Side flowndash Referred to as ldquoAuthorization Code Grantrdquondash Use whenever you call the Yammer API from your web
application server
bull Client-Side flowndash Referred to as ldquoImplicit Grantrdquondash Use whenever you need to make API calls from a client
such as JavaScript running in a web browser or from native mobile or desktop applications
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Yammer uses OAuth 2bull User Authentication and App Authorization
ndash httpswwwyammercomdialogoauthclient_id=LIaFJoKeMB6SjDg1LAampredirect_uri=httpwwwyammercom
ndash It requests to login and to authorize the App to use your data
bull After successful login and authorizing the app your are redirectedndash httpswwwyammercomportivanlcode=1U8BguaHAEJokENBsHO8wmcQ
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Get your Access Token
ndash httpswwwyammercomoauth2access_tokenjsonclient_id=8daFanMJOkeB6SjDg31nI1LAampclient_secret=dXHD9f00I268rtgnJJokeNuUaq8j3tUqelVHKKwgampcode=o3Su14YEuowqSJokeCfg
ndash Access Token can be found in the returned JSON
WWWCOLLAB365EVENTS
Authenticate ndash Client-Side flowbull Get your Access Token
ndash httpswwwyammercomdialogoauthclient_id=dIaFnMB6SJokEjg31nI1LAampredirect_uri=httpwwwyammercomampresponse_type=token
ndash Get access token from redirected URLndash httpswwwyammercomportivanlaccess_token=bl7qByjG0CgVag2OJokEc8w
bull Access token is valid for many years or longer
WWWCOLLAB365EVENTS
DEMO
Authentication
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Using REST API calls to authenticate an App
bull Explained the different dialog popups you get and when they are shown
bull Getting the access token
bull Explain the JSON payload returned
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Registration of a Yammer App
ndash Use it for creating a test app to work on
bull Publishing for use by others
WWWCOLLAB365EVENTS
REST API
WWWCOLLAB365EVENTS
REST API
bull REST interface to Yammer resourcesndash Interface is mostly used by other APIs when accessing data
bull Before accessing REST APIndash Register an App at Yammerndash Your App needs to authenticate a Yammer user through OAuth 2
bull Call REST API endpoints with an access tokenbull Documentation
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsndash Each function has a ldquoTry outrdquo
WWWCOLLAB365EVENTS
Authenticate ndash OAuth flows
bull Server-Side flowndash Referred to as ldquoAuthorization Code Grantrdquondash Use whenever you call the Yammer API from your web
application server
bull Client-Side flowndash Referred to as ldquoImplicit Grantrdquondash Use whenever you need to make API calls from a client
such as JavaScript running in a web browser or from native mobile or desktop applications
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Yammer uses OAuth 2bull User Authentication and App Authorization
ndash httpswwwyammercomdialogoauthclient_id=LIaFJoKeMB6SjDg1LAampredirect_uri=httpwwwyammercom
ndash It requests to login and to authorize the App to use your data
bull After successful login and authorizing the app your are redirectedndash httpswwwyammercomportivanlcode=1U8BguaHAEJokENBsHO8wmcQ
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Get your Access Token
ndash httpswwwyammercomoauth2access_tokenjsonclient_id=8daFanMJOkeB6SjDg31nI1LAampclient_secret=dXHD9f00I268rtgnJJokeNuUaq8j3tUqelVHKKwgampcode=o3Su14YEuowqSJokeCfg
ndash Access Token can be found in the returned JSON
WWWCOLLAB365EVENTS
Authenticate ndash Client-Side flowbull Get your Access Token
ndash httpswwwyammercomdialogoauthclient_id=dIaFnMB6SJokEjg31nI1LAampredirect_uri=httpwwwyammercomampresponse_type=token
ndash Get access token from redirected URLndash httpswwwyammercomportivanlaccess_token=bl7qByjG0CgVag2OJokEc8w
bull Access token is valid for many years or longer
WWWCOLLAB365EVENTS
DEMO
Authentication
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Using REST API calls to authenticate an App
bull Explained the different dialog popups you get and when they are shown
bull Getting the access token
bull Explain the JSON payload returned
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
REST API
WWWCOLLAB365EVENTS
REST API
bull REST interface to Yammer resourcesndash Interface is mostly used by other APIs when accessing data
bull Before accessing REST APIndash Register an App at Yammerndash Your App needs to authenticate a Yammer user through OAuth 2
bull Call REST API endpoints with an access tokenbull Documentation
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsndash Each function has a ldquoTry outrdquo
WWWCOLLAB365EVENTS
Authenticate ndash OAuth flows
bull Server-Side flowndash Referred to as ldquoAuthorization Code Grantrdquondash Use whenever you call the Yammer API from your web
application server
bull Client-Side flowndash Referred to as ldquoImplicit Grantrdquondash Use whenever you need to make API calls from a client
such as JavaScript running in a web browser or from native mobile or desktop applications
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Yammer uses OAuth 2bull User Authentication and App Authorization
ndash httpswwwyammercomdialogoauthclient_id=LIaFJoKeMB6SjDg1LAampredirect_uri=httpwwwyammercom
ndash It requests to login and to authorize the App to use your data
bull After successful login and authorizing the app your are redirectedndash httpswwwyammercomportivanlcode=1U8BguaHAEJokENBsHO8wmcQ
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Get your Access Token
ndash httpswwwyammercomoauth2access_tokenjsonclient_id=8daFanMJOkeB6SjDg31nI1LAampclient_secret=dXHD9f00I268rtgnJJokeNuUaq8j3tUqelVHKKwgampcode=o3Su14YEuowqSJokeCfg
ndash Access Token can be found in the returned JSON
WWWCOLLAB365EVENTS
Authenticate ndash Client-Side flowbull Get your Access Token
ndash httpswwwyammercomdialogoauthclient_id=dIaFnMB6SJokEjg31nI1LAampredirect_uri=httpwwwyammercomampresponse_type=token
ndash Get access token from redirected URLndash httpswwwyammercomportivanlaccess_token=bl7qByjG0CgVag2OJokEc8w
bull Access token is valid for many years or longer
WWWCOLLAB365EVENTS
DEMO
Authentication
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Using REST API calls to authenticate an App
bull Explained the different dialog popups you get and when they are shown
bull Getting the access token
bull Explain the JSON payload returned
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
REST API
bull REST interface to Yammer resourcesndash Interface is mostly used by other APIs when accessing data
bull Before accessing REST APIndash Register an App at Yammerndash Your App needs to authenticate a Yammer user through OAuth 2
bull Call REST API endpoints with an access tokenbull Documentation
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsndash Each function has a ldquoTry outrdquo
WWWCOLLAB365EVENTS
Authenticate ndash OAuth flows
bull Server-Side flowndash Referred to as ldquoAuthorization Code Grantrdquondash Use whenever you call the Yammer API from your web
application server
bull Client-Side flowndash Referred to as ldquoImplicit Grantrdquondash Use whenever you need to make API calls from a client
such as JavaScript running in a web browser or from native mobile or desktop applications
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Yammer uses OAuth 2bull User Authentication and App Authorization
ndash httpswwwyammercomdialogoauthclient_id=LIaFJoKeMB6SjDg1LAampredirect_uri=httpwwwyammercom
ndash It requests to login and to authorize the App to use your data
bull After successful login and authorizing the app your are redirectedndash httpswwwyammercomportivanlcode=1U8BguaHAEJokENBsHO8wmcQ
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Get your Access Token
ndash httpswwwyammercomoauth2access_tokenjsonclient_id=8daFanMJOkeB6SjDg31nI1LAampclient_secret=dXHD9f00I268rtgnJJokeNuUaq8j3tUqelVHKKwgampcode=o3Su14YEuowqSJokeCfg
ndash Access Token can be found in the returned JSON
WWWCOLLAB365EVENTS
Authenticate ndash Client-Side flowbull Get your Access Token
ndash httpswwwyammercomdialogoauthclient_id=dIaFnMB6SJokEjg31nI1LAampredirect_uri=httpwwwyammercomampresponse_type=token
ndash Get access token from redirected URLndash httpswwwyammercomportivanlaccess_token=bl7qByjG0CgVag2OJokEc8w
bull Access token is valid for many years or longer
WWWCOLLAB365EVENTS
DEMO
Authentication
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Using REST API calls to authenticate an App
bull Explained the different dialog popups you get and when they are shown
bull Getting the access token
bull Explain the JSON payload returned
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Authenticate ndash OAuth flows
bull Server-Side flowndash Referred to as ldquoAuthorization Code Grantrdquondash Use whenever you call the Yammer API from your web
application server
bull Client-Side flowndash Referred to as ldquoImplicit Grantrdquondash Use whenever you need to make API calls from a client
such as JavaScript running in a web browser or from native mobile or desktop applications
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Yammer uses OAuth 2bull User Authentication and App Authorization
ndash httpswwwyammercomdialogoauthclient_id=LIaFJoKeMB6SjDg1LAampredirect_uri=httpwwwyammercom
ndash It requests to login and to authorize the App to use your data
bull After successful login and authorizing the app your are redirectedndash httpswwwyammercomportivanlcode=1U8BguaHAEJokENBsHO8wmcQ
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Get your Access Token
ndash httpswwwyammercomoauth2access_tokenjsonclient_id=8daFanMJOkeB6SjDg31nI1LAampclient_secret=dXHD9f00I268rtgnJJokeNuUaq8j3tUqelVHKKwgampcode=o3Su14YEuowqSJokeCfg
ndash Access Token can be found in the returned JSON
WWWCOLLAB365EVENTS
Authenticate ndash Client-Side flowbull Get your Access Token
ndash httpswwwyammercomdialogoauthclient_id=dIaFnMB6SJokEjg31nI1LAampredirect_uri=httpwwwyammercomampresponse_type=token
ndash Get access token from redirected URLndash httpswwwyammercomportivanlaccess_token=bl7qByjG0CgVag2OJokEc8w
bull Access token is valid for many years or longer
WWWCOLLAB365EVENTS
DEMO
Authentication
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Using REST API calls to authenticate an App
bull Explained the different dialog popups you get and when they are shown
bull Getting the access token
bull Explain the JSON payload returned
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Yammer uses OAuth 2bull User Authentication and App Authorization
ndash httpswwwyammercomdialogoauthclient_id=LIaFJoKeMB6SjDg1LAampredirect_uri=httpwwwyammercom
ndash It requests to login and to authorize the App to use your data
bull After successful login and authorizing the app your are redirectedndash httpswwwyammercomportivanlcode=1U8BguaHAEJokENBsHO8wmcQ
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Get your Access Token
ndash httpswwwyammercomoauth2access_tokenjsonclient_id=8daFanMJOkeB6SjDg31nI1LAampclient_secret=dXHD9f00I268rtgnJJokeNuUaq8j3tUqelVHKKwgampcode=o3Su14YEuowqSJokeCfg
ndash Access Token can be found in the returned JSON
WWWCOLLAB365EVENTS
Authenticate ndash Client-Side flowbull Get your Access Token
ndash httpswwwyammercomdialogoauthclient_id=dIaFnMB6SJokEjg31nI1LAampredirect_uri=httpwwwyammercomampresponse_type=token
ndash Get access token from redirected URLndash httpswwwyammercomportivanlaccess_token=bl7qByjG0CgVag2OJokEc8w
bull Access token is valid for many years or longer
WWWCOLLAB365EVENTS
DEMO
Authentication
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Using REST API calls to authenticate an App
bull Explained the different dialog popups you get and when they are shown
bull Getting the access token
bull Explain the JSON payload returned
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Authenticate ndash Server-Side flowbull Get your Access Token
ndash httpswwwyammercomoauth2access_tokenjsonclient_id=8daFanMJOkeB6SjDg31nI1LAampclient_secret=dXHD9f00I268rtgnJJokeNuUaq8j3tUqelVHKKwgampcode=o3Su14YEuowqSJokeCfg
ndash Access Token can be found in the returned JSON
WWWCOLLAB365EVENTS
Authenticate ndash Client-Side flowbull Get your Access Token
ndash httpswwwyammercomdialogoauthclient_id=dIaFnMB6SJokEjg31nI1LAampredirect_uri=httpwwwyammercomampresponse_type=token
ndash Get access token from redirected URLndash httpswwwyammercomportivanlaccess_token=bl7qByjG0CgVag2OJokEc8w
bull Access token is valid for many years or longer
WWWCOLLAB365EVENTS
DEMO
Authentication
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Using REST API calls to authenticate an App
bull Explained the different dialog popups you get and when they are shown
bull Getting the access token
bull Explain the JSON payload returned
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Authenticate ndash Client-Side flowbull Get your Access Token
ndash httpswwwyammercomdialogoauthclient_id=dIaFnMB6SJokEjg31nI1LAampredirect_uri=httpwwwyammercomampresponse_type=token
ndash Get access token from redirected URLndash httpswwwyammercomportivanlaccess_token=bl7qByjG0CgVag2OJokEc8w
bull Access token is valid for many years or longer
WWWCOLLAB365EVENTS
DEMO
Authentication
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Using REST API calls to authenticate an App
bull Explained the different dialog popups you get and when they are shown
bull Getting the access token
bull Explain the JSON payload returned
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
DEMO
Authentication
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Using REST API calls to authenticate an App
bull Explained the different dialog popups you get and when they are shown
bull Getting the access token
bull Explain the JSON payload returned
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Using REST API calls to authenticate an App
bull Explained the different dialog popups you get and when they are shown
bull Getting the access token
bull Explain the JSON payload returned
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
REST API - Resourcesbull Messages
ndash View messages like all my feed following private received
ndash Posting messages ndash Other like pending attachments email
messages view threads likes
bull Topics ()bull Groups
ndash Join and leave groups
bull Usersndash Retrieve view current user view user in
group suspend or delete
bull Relationshipsndash Show add and remove organizational
chart relationship
bull Notificationsndash Get from current user
bull Suggestionsndash View and decline suggestions
bull Subscriptionsndash Check subscribed to thread or userndash Subscribe and unsubscribe
bull Autocompletendash Returns suggestions
bull Invitationsbull Searchbull Networks
ndash List of networksndash Switch between network
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
REST API ndash Interesting endpointsEndpoints Parameters
Messageshttpswwwyammercomapiv1messagesjsonhttpswwwyammercomapiv1messagesfollowingjsonhttpswwwyammercomapiv1messagesprivatejson
older_thannewer_thanthreadedlimit
Usershttpswwwyammercomapiv1userscurrentjsonhttpswwwyammercomapiv1users[id]json
Relationships httpswwwyammercomapiv1relationshipsjson user_id
Notifications httpswwwyammercomapiv1streamsnotificationsjson
Search httpswwwyammercomapiv1searchjsonsearchpagenum_per_page
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
DEMO
REST API Call
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Demo ndash Round up
bull Use REST API to get information about the current user and messages
bull Explain about the JSON returned
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
REST API ndash Rate Limitsbull API calls are subject to rate limiting
bull Limits are per user per Appbull Limits are independently from each other in the same time periodbull More information
ndash httpsdeveloperyammercomdocsrest-api-rate-limitsrate-limits
Requests in Seconds
Messages 10 30
Notifications 10 30
Autocomplete 10 10
All other resources 10 10
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
JavaScript SDK
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
JavaScript SDKbull Allows you to authenticate users and access Yammer through some
wrapperbull Newest version released on April 7th 2014
ndash New security features to enhance login techniques
bull Using JavaScript is easy
bull Use httpsc64assets-yammercomassetsplatform_js_sdkjsbull Enter your Yammer App ID in the data-app-id parameter
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
JavaScript SDK - Authenticate
bull Authentication is handled for you
bull A cool Yammer login button
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
JavaScript SDK ndash Access databull Make calls directly to the
Yammer REST APIndash Use yamplatformrequest
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Yammer Embed
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Yammer Embedbull A set of widgets to quickly create Yammer implementationsbull Not many customizations possiblebull Widgets like Specified feeds Open Graph feeds Action buttons and
Commentingbull Widget is block of script placed in
ndash Content Editor Web Partndash Pagendash SharePoint Hosted Add-in
bull Needs a HTML Container 400 pixels or larger in your applicationbull Documentation
ndash httpsdeveloperyammercomdocsembed
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Yammer Embed ndash Script generatorbull Embed script generation
ndash httpswwwyammercomwidgetconfigure
bull Type of feeds
ndash Group Open Graph User Topics My feed
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Yammer Embed ndash Single Sign-Onbull Support for Single Sign On
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Yammer Embed ndash Open Graph buttons
bull Enables social interaction with systems like blog posts content pages and other content
bull It uses Open Graph objects
bull Like buttonndash ltusergt likes ltobjectgtndash Bound to the URL of the object
bull Follow buttonndash ltusergt follows ltobjectgtndash Bound to the URL of the object
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Yammer Embed - Commentingbull Actually a Feed widget of the type ldquoOpen Graphrdquobull Can be used as commenting system for internal blogs or any line of
business application
bull OG Object is created by the first user using itbull URL and OG metadata of page is usedbull Other properties like header footer prompt text and more
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Open Graph
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Open Graphbull Is a light weight data integration protocolbull Activities are posted as OG Objectsbull Format
ndash ltActorgt ltActiongt ltObjectgt on ltApp Namegt ltMessagegtndash Eg Alexander created Company meeting on YammerTestAppForPortiva Lets meet
bull Description
Actor A Yammer user
Action A verb describing what happens Eg created updated deleted liked followedCreate your own verbs per App on yammercom
Object Represents an instance in your App and are uniquely identified Supported are place person department team project folder file document image audio video and company
App Name Name of your App doing the post
Message The message shown
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Open Graph - Custom
bull Create your own objects and verbsbull Define a namespacebull Object Type
ndash Singular formndash Plural form
bull Action typesndash Present tensendash Past tense
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Open Graph - Custombull An Open Graph Object is posted through the activity endpoint
ndash httpswwwyammercomapiv1activityjson
bull Example JSON payload
activity
actornameldquoAlexander Meijers
emailldquoameijersportivanl
actioncreate object
urlldquohttpwwwyammercom
titleldquoCorporate Meeting
messageldquoLets meet
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Yammer and NET
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
YammerNETbull A way to use Yammer APIs in NET applications
ndash Based on the NET classes of Steve Peschkahttpblogstechnetcombspeschkaarchive20131005using-the-yammer-api-in-a-net-client-applicationaspx
bull Connecting to Yammerndash Authentication through REST API calls by using WebRequest callsndash Setting the cookies (yamtrak_id and _workfeed_session_id)
bull Serializing JSON data through NET classesbull Access it from
ndash Console applicationndash Provider hosted App in SharePoint 2013
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Takeaways amp round upbull Documentation is nowadays better bull The REST part is enough to create rich implementationsbull Use access token to use yammer APIs on behalf of an user Valid for
yearsbull Use Yammer Embed to create Yammer implementations quickly and
with an easebull Open Graph allows you to create your own objects within your
yammer implementationbull Using NET building Yammer Apps is great Especially with an
YammerNET Library
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip
WWWCOLLAB365EVENTS
Stay tuned for more great sessions hellip