I really love the collaboration that Yammer can provide. You can easily create a topic focused group and build a self-driven community around it. However, when it comes time to actually trying to do something outside of Yammer, it can be clunky trying to build a membership list you can use to e-mail, send Calendar Invites, share Google Docs or give Doodle Polls to.
Fortunately Yammer provides a relatively robust API which we can leverage to help make this chore less aggravating and hopefully more accurate than doing it by hand.
Step 1: Determine Your Yammer Group ID.
This can be accomplished by navigating to your group, the URL will look something like: https://www.yammer.com/stonybrook.edu/#/threads/inGroup?type=in_group&feedId=2172003 (for this example we used the DoIT group)
That last part, the “FeedID”, is really your Group ID.
Step 2: Making the API Call.
We are going to make an HTTP get to (https://www.yammer.com/api/v1/users/in_group/:Group_Id.json) based upon the information we found in yammers developer pages: https://developer.yammer.com/v1.0/docs/usersin_groupidjson
We simply substitute :Group_Id.json with our Group from Step 1 ala: https://www.yammer.com/api/v1/users/in_group/2172003.json
Only authenticated users can make API calls. The API request also seems to respect the privacy settings of the group, it seems that non-group members can make the API call on public groups, but not on private groups. This is in-line with how the Web UI works, but I am a little concerned that someone _COULD_ exploit this to harvest e-mail addresses / membership info.
TL;DR if your following along and don’t see any content in the JSON feed, make sure you are signed into Yammer and that you are a member of the group you are trying to query.
Step 3: Yikes, That JSON’s UGLY!
While JSON is meant to be human readable, many browsers just output is as a block of unformatted text, making it a bit difficult to read. If you use Chrome you can grab the following plugin https://chrome.google.com/webstore/detail/json-formatter/bcjindcccaagfpapjjmafapmmgkkhgoa?hl=en similar plugins are available for IE and FireFox but your on your own for those.
Step 4: Neat, But How Can I Get This In a Format I Can Use?
For my needs, I really just wanted to get a list of e-mail addresses and while I _COULD_ write some javascript to output only the fields I cared about, writing code takes time so off to Google I went and 2 minutes later I found this JSON to CSV converter: http://konklone.io/json/ which yielded a CSV file I could then open in excel or import into Google Sheets. From their I copied the column of e-mail addresses, pasted them in the attendee part of my google calendar invite and sent it on its way.
For some reason, I did notice that 3 out of the 41 people didn’t have an e-mail address, not really sure why that would be, but judging by their names, I imagine that accounts were Old School Yammers who’s accounts were established prior to getting Single Sign-On Authentication in place. In any event, it was pretty easy to look up the three names rather than cross-list 42 of them.
Leveraging Yammer’s API for managing group data is efficient. What safeguards are in place to prevent unauthorized users from accessing private group details?
Regard Informatika
The thing is API doesn’t have must any human readable option since it’s about fetching and serialize the data easily and efficiently with programming language. – https://ayersoft.com