How to Create Yammer Group Programmatically using C#


Sathish Nadarajan
SharePoint MVP
Published On :   17 Jun 2017
Visit Count
Today :  2    Total :   881
Plan, Migrate, Secure, Report
SharePoint & Office 365 Tool. Simple & Easy to Use. 15-Day Trial!

SharePoint Office 365 Tool
Simple & Powerful Tool for Migration, Security & Reporting. Free Trial


Nowadays, Yammer has become an integral part of Office 365 Sites. When we POST a data from our Site Collection, it gets stored in the Yammer.

When, we open the Context Menu of the File and Click on the POST, a Yammer Popup will be coming.

clip_image002

clip_image004

On the popup, we will be entering our text and click on POST. This will be reflected on the Yammer Site. There are many things, which we need to integrate with the Yammer. Let us focus them on the upcoming articles. But, Yammer and Office 365, has a tight coupling and there are lot more can be achieved, if we use them properly.

The Inserted comment can be visible on the Yammer site as below. But, if you could see, Yammer can be created with many groups. By default, “All Company” Group will be selected. And the Comment which we posted from the Office 365 will be posted in the Yammer Group “All Company”.

clip_image006

Now, let us see how to create a Yammer Group through the screen as well as C# Client side object model as well.

On the Yammer home page, click on the “Discover More groups” option.

clip_image008

On the right hand top corner, we can see the “Create Group” Button.

clip_image010

On the Screen, enter the group name, members, whether it is a Public or Private group.

clip_image012

Click on “Create Group”

That’s it. Yammer Group would have been created.

.

clip_image014

With this introduction, let us see, how to create a Yammer Group Programmatically.

It is a straight forward method

 using Microsoft.SharePoint.Client;
 using OfficeDevPnP.Core.Framework.Provisioning.Connectors;
 using OfficeDevPnP.Core.Framework.Provisioning.Providers.Xml;
 using System.IO;
 using System.Net;
 using System.Text;
 
 namespace Office365.Console
 {
     class Program
     {
         static void Main(string[] args)
         {
             CreateYammerGroup();
         }
 
         public static void CreateYammerGroup()
         {
             string url = "https://www.yammer.com/api/v1/groups.json";
 
             string access = "&private=false"; // This is for PUBLIC group.  For Private Group - "&private=true";
             string groupUrl = string.Format("{0}?name=" + "YammerGroupName" + "{1}", url, access);
 
             string result = PostYammerJson(groupUrl, "<<ADMIN ACCESS TOKEN OF THE YAMMER TENANT>>");
         }
 
         public static string PostYammerJson(string url, string accessToken)
         {
             //make the request
             string json = null;
             HttpWebRequest YammerRequest = HttpWebRequest.Create(url) as HttpWebRequest;
             YammerRequest.Method = "POST";
             YammerRequest.ContentType = "application/json; odata=verbose";
             YammerRequest.Accept = "application/json; odata=verbose";
             YammerRequest.ContentLength = 0;
             YammerRequest.Headers.Add("Authorization", string.Concat("Bearer ", accessToken));
 
             using (HttpWebResponse response = YammerRequest.GetResponse() as HttpWebResponse)
             {
                 Encoding encode = Encoding.GetEncoding("utf-8");
                 StreamReader reader = new StreamReader(response.GetResponseStream(), encode);
                 json = reader.ReadToEnd();
             }
             return json;
         }
 
     }
 }
 

Happy Coding,

Sathish Nadarajan.

SharePoint Usage Reports
Usage reports, collaboration and audit for SharePoint.
Categories

Migratiin Tools for SharePoint