31

Building Enterprise Web and Client Apps with the Yammer Platform

  • Upload
    blake

  • View
    58

  • Download
    1

Embed Size (px)

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

Page 1: Building Enterprise Web and Client Apps with the Yammer Platform
Page 2: Building Enterprise Web and Client Apps with the Yammer Platform

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

Page 3: Building Enterprise Web and Client Apps with the Yammer Platform

Yammer 101

Page 4: Building Enterprise Web and Client Apps with the Yammer Platform

Viral growth

• Sign up for free.• Grouped into

private networks by email domain.

Page 5: Building Enterprise Web and Client Apps with the Yammer Platform

Messages

• Post messages in the publisher.

• User-generated messages appear in the feed.

Page 6: Building Enterprise Web and Client Apps with the Yammer Platform

Activities and objects

• System generated events appear in the ticker.

Page 7: Building Enterprise Web and Client Apps with the Yammer Platform

Groups, Files, and Apps

• Users create groups.

• Users upload files.

• Partners develop apps.

Page 8: Building Enterprise Web and Client Apps with the Yammer Platform

The Yammer Platform

Page 9: Building Enterprise Web and Client Apps with the Yammer Platform

Enterprise Social Layer

CMS CRM Custom HR ERP SMM CSSDMS

Page 10: Building Enterprise Web and Client Apps with the Yammer Platform

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.

Page 11: Building Enterprise Web and Client Apps with the Yammer Platform

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

Page 12: Building Enterprise Web and Client Apps with the Yammer Platform

Credits:Tuong LaJose ComboniXiangli DaiMarvyn Leroy

Contract Meow for Windows 8

Page 13: Building Enterprise Web and Client Apps with the Yammer Platform

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.

Page 14: Building Enterprise Web and Client Apps with the Yammer Platform

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

Page 15: Building Enterprise Web and Client Apps with the Yammer Platform

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/

Page 16: Building Enterprise Web and Client Apps with the Yammer Platform

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).

Page 17: Building Enterprise Web and Client Apps with the Yammer Platform

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

Page 18: Building Enterprise Web and Client Apps with the Yammer Platform

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

Page 19: Building Enterprise Web and Client Apps with the Yammer Platform

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

Page 20: Building Enterprise Web and Client Apps with the Yammer Platform

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/

Page 21: Building Enterprise Web and Client Apps with the Yammer Platform

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.

Page 22: Building Enterprise Web and Client Apps with the Yammer Platform

Activity Example (JSON OG representation)

{"activity":{

"actor":{"name":"John Doe","email":"[email protected]"},"action":"create",

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

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

{"name":"Jane Doe","email":"[email protected]"}

]}

}

Page 23: Building Enterprise Web and Client Apps with the Yammer Platform

DTOs and Models• Portable Class Library

Page 24: Building Enterprise Web and Client Apps with the Yammer Platform

Sample App

Sched.do (a web app)

Page 25: Building Enterprise Web and Client Apps with the Yammer Platform

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…

Page 26: Building Enterprise Web and Client Apps with the Yammer Platform

Yammer App Directory

Page 27: Building Enterprise Web and Client Apps with the Yammer Platform

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.

Page 28: Building Enterprise Web and Client Apps with the Yammer Platform

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

Page 29: Building Enterprise Web and Client Apps with the Yammer Platform

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

Page 30: Building Enterprise Web and Client 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!

Page 31: Building Enterprise Web and Client Apps with the Yammer Platform

© 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.