Building Enterprise Web and Client Apps with the Yammer Platform

Preview:

DESCRIPTION

Building Enterprise Web and Client Apps with the Yammer Platform. Neil McCarthy, Tuong La, and Jose Comboni 3-605. Yammer 101. Viral growth. Sign up for free. Grouped into private networks by email domain. Messages. Post messages in the publisher . - PowerPoint PPT Presentation

Citation preview

Building Enterprise Web and Client Apps with the Yammer PlatformNeil McCarthy, Tuong La, and Jose Comboni3-605

Yammer 101

Viral growth

• Sign up for free.• Grouped into

private networks by email domain.

Messages

• Post messages in the publisher.

• User-generated messages appear in the feed.

Activities and objects

• System generated events appear in the ticker.

Groups, Files, and Apps

• Users create groups.

• Users upload files.

• Partners develop apps.

The Yammer Platform

Enterprise Social Layer

CMS CRM Custom HR ERP SMM CSSDMS

Open Graph in the Enterprise• Sign In With Yammer• Embed Yammer actions (Like and Follow) to

send object metadata.• Send activities stories to send object

metadata.• Why Open Graph? User growth and

engagement.

Other Stuff• REST API• Data Export API• JavaScript SDK

Credits:Tuong LaJose ComboniXiangli DaiMarvyn Leroy

Contract Meow for Windows 8

Yammer REST API• REST API: http://en.wikipedia.org/wiki/REST• Yammer API URI: https://www.yammer.com/api/v1• Recommended format for data exchange: JSON.

Authentication• Your application must be registered with Yammer to obtain a

Client Id and Client Secret.• The Client Id and Client Secret will be used to get an access

token.• The token should be kept safe as it is used for authorization

for all API calls.• API calls will authenticate users through the ‘Authorization’

header ( Auth-scheme ‘Bearer’ value ‘Token’. – E.g. Authorization: Bearer ASDF252346SFGz

End PointsAutocomplete: https://www.yammer.com/api/v1/autocomplete/Messages: https://www.yammer.com/api/v1/messages.jsonAttachments: https://www.yammer.com/api/v1/pending_attachmentsSearch: https://www.yammer.com/api/v1/search.jsonNotifications: https://www.yammer.com/api/v1/streams/notifications.jsonMore: https://developer.yammer.com/restapi/

Rate Limits• Rate limits are per user per app.• There are four rate limits:

AutoComplete: 10 requests in 10 seconds. Messages: 10 requests in 30 seconds. Notifications: 10 requests in 30 seconds. All Other Resources: 10 requests in 10 seconds.

• Exceeding any rate limits will result in all endpoints returning a status code of 429 (Too Many Requests).

AutoComplete End PointThe autocomplete feature is useful for giving suggestions to users when they begin to type something that looks like the name of a group, user or topic.

Yammer ranks various models to provide a useful AutoComplete results.

When Implemented Auto-complete it’s recommended to start sending requests after the 4th character of a word is typed

AutoComplete End Point (cont’d)

Endpoint: https://www.yammer.com/api/v1/autocomplete/rankedQuery String Parameters:• models=modelName:count - modelName can be the following:

user, group, open_graph_object, department, external_network, or domain

• prefix=string - A string for matching against the searchable fields in the specified models.

?models={modelName}:{count}&prefix={string} ?models=user:20&prefix=Matt ?models=user:20

AutoComplete End Point (cont’d){ "user": [ { "id": "2022775", "full_name": "Tuong La", "email": "tuong@neilmccarthy-buildconference.com", "job_title": “Mouse Gatherer", "photo": "https://mug0.assets.yammer.com/mugshot/images/48x48/4xf...9n6f5",}, …] }

Open GraphConnects activities together with a common Open Graph object.

An activity takes the format:<Actor> <Action> <Object> on <App Name>: <Message>

“John Doe” created “Sales Contract” on Contract Meow: Signed a new client!

More info at: https://developer.yammer.com/opengraph/

ActivitiesUse Open Graph Object Format<Actor> <Action> <Object> on <App Name>: <Message>Actor - The actor is the user that performed an action. Action - The action is a verb that describes what happened to the object.

Standard actions are “created, updated, deleted, followed, and liked”.

Custom Actions can be created for your network.Object - An OG object represents an entity instance in your application, like a particular Contract or Event (Lunch Meeting). URL is the unique identifier.

Activity Example (JSON OG representation)

{"activity":{

"actor":{"name":"John Doe","email":"john@contract-meow.com"},"action":"create",

"object": {"url":"https://www.contract-meow.com/34242","title":"Sales Contract"},

"message":"Signed a new client! ""users":[

{"name":"Jane Doe","email":"jane@contract-meow.com"}

]}

}

DTOs and Models• Portable Class Library

Sample App

Sched.do (a web app)

How to get started1. Sign up for Yammer with your corporate email

address (not outlook.com, gmail.com, etc.)2. Request access to the Yammer Developer Network

(upload a photo!)3. Create a Yammer app at

https://www.yammer.com/client_applications• Note: Your app will only be authorize-able for you

and other users in your network, until…

Yammer App Directory

How to get in the App Directory1. Get your app working.2. Complete App Directory submission form.3. Deploy to your network’s app directory.4. Request global app status and app directory

placement.5. Chat with our Business Development team.

Developer ResourcesAPI Docs: https://developer.yammer.comYDN: https://www.yammer.com/yammerdevelopersnetworkContract Meow source (soon): https://github.com/yammer/contractmeowSched.do: https://www.sched.doSched.do source: https://github.com/yammer/sched.doRegister a new app: https://www.yammer.com/client_applications

Resourceshttp://dev.office.comhttp://blogs.msdn.com/officeapps/ http://social.msdn.microsoft.com/Forums/officeapps

Office, SharePoint & Yammer SessionsWednesday2:00-3:00, 3-602 0 to 60: Developing Apps for Microsoft SharePoint 20133:30-4:30, 3-603 Understanding Authentication and Permissions with Apps for SharePoint and Office5:00-6:00, 3-319 Developing Apps for SharePoint 2013 with Visual Studio 2013Thursday2:00-3:00, 3-601 0 to 60: Developing Apps for Microsoft Office 2013Friday10:30-11:30, 3-604 Advanced Patterns Using Windows Azure Web Sites for Apps for Office and SharePoint2:00-3:00, 3-605 Building Enterprise Web and Mobile Apps with the Yammer Platform

Evaluate this session

Scan this QR code to evaluate this session and be automatically entered in a drawing to win a prize!

© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Recommended