Using the Yammer API in your apps

DevToolsGuy / Thursday, April 16, 2015

Many Office 365 power users and IT professionals still struggle with understanding how Yammer - Microsoft’s Enterprise Social Network (ESN) offering - can be adopted by their organisation. Although Microsoft has offered the platform for a number of years now, there remains a substantial gap in understanding of how the tool can be used.

Research suggests that up to eighty percent of companies which introduce Enterprise Social Networks will see their installations fail. Whether as a result of poor preparation, a lack of training or simply by not making it relevant to business needs, making ESNs work is far from simple. No one wants to see their investment become an expensive failure, or maybe worse, simply ignored. Therefore, developing a strategy to encourage its adoption is good practice.

In addition to the usual training and encouragement, it’s also possible to adapt Yammer to an organisation’s specific needs by using its API to render changes that align with company goals. Many IT staff and power users are unaware of the possibility of developing company specific apps with the Yammer API, yet this can really impact on adoption. This post therefore is an introductory look at the Yammer API and its various possibilities.

Hold on, what is an API?

In simple terms, an API can be summarized as the methods in which one piece of software asks another to perform a service. These services aren’t typically visible to end-users however, even if they do enjoy their benefits. An API allows software developers to plug into the application (Yammer in this instance) to extend and enhance it. These may include the exchange of data, account verification and so forth. 

Microsoft, for years now, has allowed a strong and vibrant partner network to develop around their core products for exactly this reason; extensibility.  An API simply permits this to be done on a much more intimate level on an application by application basis.  The recent release of the Office 365 API (available here) shows how serious even Microsoft is at opening some of their cloud systems to third party utilization / development. The scope of this new determination also includes Yammer.

The Yammer Developer Centre

The Yammer Developer Centre is currently one of the best places to get started when looking to getting started with its API. It offers several useful content hubs that are well worth exploring and is especially useful for the non-expert. In brief, some of the principle guides cover:

 

  • Build your first app: A step by step guide on using the Yammer API & tools
  • Yammer App Directory: A useful index of currently available apps, with additional guides, partner list and FAQ
  • Authentication Information: Information on the various forms of authentication that can be used with Yammer
  • Open Graph: A slightly misleading title, this part of the developer network details how to write activity from your application into Yammer
  • Software Development Kits (SDK): Instructions on various flavours of Yammer SDK
  • Restful API: A lightweight API (covered below)

 

The Restful API

A Restful API is one that leaves less of a bandwidth related footprint whilst carrying out its requested duties. Yammer provide such an interface and this allows access to the various Yammer facets, such as groups, users, suggestions and so on.  These access points are available once a third party app has authenticated a Yammer network user. One additional thing to keep in mind is that, as with many cloud based utilities, there are threshold limits in place for how often your apps can pull data from Yammer itself.  If these breaches are limited, an application can and probably will be blocked. That said, for most casual developers, this API covers most of the bases.

Looking a little more at the SDK

The SDK’s that were alluded to earlier come in a variety of technological flavours, ranging from JavaScript, Ruby, Python and the iOS / Windows operating systems. JavaScript, as the de facto programming language for many applications in the modern era would be an apt language to explore Yammer development in. To give you your building blocks, check out this guide on JavaScript.

There’s a lot of potential for developing Yammer

There’s a lot of potential for developing Yammer and an introduction of this size could only hope to scratch the surface. Despite the fact that it’s not integrated into the Office 365 Stack as smoothly as we might like, the Yammer API still benefits from the decisions Microsoft is taking around development. 

The recent launch of the Office 365 development centre shows Microsoft’s commitment to making all their cloud platforms both mobile friendly and mobile first. Integral to this is movement is allowing developers to customize and extend potential experiences. Yammer, despite still not being fully part of the Microsoft or Office 365 experience (menu bar excluded) does offer development opportunity, which really should be taken advantage of.