Building Enterprise Web and Client Apps with the Yammer Platform
description
Transcript of Building Enterprise Web and Client Apps with the Yammer Platform
![Page 1: Building Enterprise Web and Client Apps with the Yammer Platform](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/1.jpg)
![Page 2: Building Enterprise Web and Client Apps with the Yammer Platform](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/2.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/3.jpg)
Yammer 101
![Page 4: Building Enterprise Web and Client Apps with the Yammer Platform](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/4.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/5.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/6.jpg)
Activities and objects
• System generated events appear in the ticker.
![Page 7: Building Enterprise Web and Client Apps with the Yammer Platform](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/7.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/8.jpg)
The Yammer Platform
![Page 9: Building Enterprise Web and Client Apps with the Yammer Platform](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/9.jpg)
Enterprise Social Layer
CMS CRM Custom HR ERP SMM CSSDMS
![Page 10: Building Enterprise Web and Client Apps with the Yammer Platform](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/10.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/11.jpg)
Other Stuff• REST API• Data Export API• JavaScript SDK
![Page 12: Building Enterprise Web and Client Apps with the Yammer Platform](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/12.jpg)
Credits:Tuong LaJose ComboniXiangli DaiMarvyn Leroy
Contract Meow for Windows 8
![Page 13: Building Enterprise Web and Client Apps with the Yammer Platform](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/13.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/14.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/15.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/16.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/17.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/18.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/19.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/20.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/21.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/22.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/23.jpg)
DTOs and Models• Portable Class Library
![Page 24: Building Enterprise Web and Client Apps with the Yammer Platform](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/24.jpg)
Sample App
Sched.do (a web app)
![Page 25: Building Enterprise Web and Client Apps with the Yammer Platform](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/25.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/26.jpg)
Yammer App Directory
![Page 27: Building Enterprise Web and Client Apps with the Yammer Platform](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/27.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/28.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/29.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/30.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022062310/568168c6550346895ddfb738/html5/thumbnails/31.jpg)
© 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.