Chilkat Online Tools

Java / Salesforce Platform APIs / List of Groups - POST

Back to Collection Items

import com.chilkatsoft.*;

public class ChilkatExample {

  static {
    try {
        System.loadLibrary("chilkat");
    } catch (UnsatisfiedLinkError e) {
      System.err.println("Native code library failed to load.\n" + e);
      System.exit(1);
    }
  }

  public static void main(String argv[])
  {
    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    CkHttp http = new CkHttp();
    boolean success;

    // Adds the "Authorization: Bearer <access_token>" header.
    http.put_AuthToken("<access_token>");

    CkHttpResponse resp = http.QuickRequest("POST","=true");
    if (http.get_LastMethodSuccess() == false) {
        System.out.println(http.lastErrorText());
        return;
        }

    CkStringBuilder sbResponseBody = new CkStringBuilder();
    resp.GetBodySb(sbResponseBody);

    CkJsonObject jResp = new CkJsonObject();
    jResp.LoadSb(sbResponseBody);
    jResp.put_EmitCompact(false);

    System.out.println("Response Body:");
    System.out.println(jResp.emit());

    int respStatusCode = resp.get_StatusCode();
    System.out.println("Response Status Code = " + respStatusCode);
    if (respStatusCode >= 400) {
        System.out.println("Response Header:");
        System.out.println(resp.header());
        System.out.println("Failed.");

        return;
        }

    // Sample JSON response:
    // (Sample code for parsing the JSON response is shown below)

    // {
    //   "additionalLabel": "Private With Customers",
    //   "announcement": null,
    //   "bannerPhoto": {
    //     "bannerPhotoUrl": "https://<my_domain>/profilephoto/0F9/B",
    //     "bannerPhotoVersionId": null,
    //     "url": "/services/data/v58.0/chatter/groups/0F9.../banner-photo"
    //   },
    //   "canHaveChatterGuests": true,
    //   "community": null,
    //   "description": "Created via API",
    //   "emailToChatterAddress": "0F9...@post.2o-i6mbeaq.eu25.chatter.salesforce.com",
    //   "fileCount": 0,
    //   "id": "0F9...",
    //   "information": {
    //     "text": null,
    //     "title": null
    //   },
    //   "isArchived": false,
    //   "isAutoArchiveDisabled": false,
    //   "isBroadcast": false,
    //   "lastFeedElementPostDate": "2023-11-22T11:29:05.000Z",
    //   "memberCount": 1,
    //   "motif": {
    //     "color": "1B96FF",
    //     "largeIconUrl": "/img/icon/groups64.png",
    //     "mediumIconUrl": "/img/icon/groups32.png",
    //     "smallIconUrl": "/img/icon/groups16.png",
    //     "svgIconUrl": null
    //   },
    //   "myRole": "GroupOwner",
    //   "mySubscription": {
    //     "id": "0FB...",
    //     "url": "/services/data/v58.0/chatter/group-memberships/0FB..."
    //   },
    //   "name": "New Chatter Group  (Private Access)",
    //   "owner": {
    //     "additionalLabel": null,
    //     "communityNickname": "User1696423780773910041",
    //     "companyName": "Salesforce",
    //     "displayName": "Name",
    //     "firstName": "Firstname",
    //     "id": "005...",
    //     "isActive": true,
    //     "isInThisCommunity": true,
    //     "lastName": "Name",
    //     "motif": {
    //       "color": "1B96FF",
    //       "largeIconUrl": "/img/icon/profile64.png",
    //       "mediumIconUrl": "/img/icon/profile32.png",
    //       "smallIconUrl": "/img/icon/profile16.png",
    //       "svgIconUrl": null
    //     },
    //     "mySubscription": null,
    //     "name": "Name",
    //     "outOfOffice": {
    //       "message": ""
    //     },
    //     "photo": {
    //       "fullEmailPhotoUrl": "https://<my_domain>/ncsphoto/1wsMlOd3tVC7boygqBO8wMT9KzA0D6tqzpbs-Uw0IogXzXAXaYKJnuWCNQmXymRq?fromEmail=1",
    //       "largePhotoUrl": "https://<my_domain>/profilephoto/729.../F",
    //       "mediumPhotoUrl": "https://<my_domain>/profilephoto/729.../M",
    //       "photoVersionId": "729...",
    //       "smallPhotoUrl": "https://<my_domain>/profilephoto/729.../T",
    //       "standardEmailPhotoUrl": "https://<my_domain>/ncsphoto/1wsMlOd3tVC7boygqBO8wMT9KzA0D6tqzpbs-Uw0Ioi-dtynkoFWsl46as__TDFU?fromEmail=1",
    //       "url": "/services/data/v58.0/connect/user-profiles/005.../photo"
    //     },
    //     "reputation": null,
    //     "title": null,
    //     "type": "User",
    //     "url": "/services/data/v58.0/chatter/users/005...",
    //     "userType": "Internal"
    //   },
    //   "pendingRequests": 0,
    //   "photo": {
    //     "fullEmailPhotoUrl": "https://<my_domain>/img/userprofile/default_group_profile_200_v2.png?fromEmail=1",
    //     "largePhotoUrl": "https://<my_domain>/profilephoto/0F9/F",
    //     "mediumPhotoUrl": "https://<my_domain>/profilephoto/0F9/M",
    //     "photoVersionId": null,
    //     "smallPhotoUrl": "https://<my_domain>/profilephoto/0F9/T",
    //     "standardEmailPhotoUrl": "https://<my_domain>/img/userprofile/default_group_profile_45_v2.png?fromEmail=1",
    //     "url": "/services/data/v58.0/chatter/groups/0F9.../photo"
    //   },
    //   "type": "CollaborationGroup",
    //   "url": "/services/data/v58.0/chatter/groups/0F9...",
    //   "visibility": "PrivateAccess"
    // }

    // Sample code for parsing the JSON response...
    // Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code

    String additionalLabel = jResp.stringOf("additionalLabel");
    String announcement = jResp.stringOf("announcement");
    String BannerPhotoUrl = jResp.stringOf("bannerPhoto.bannerPhotoUrl");
    String BannerPhotoVersionId = jResp.stringOf("bannerPhoto.bannerPhotoVersionId");
    String v_Url = jResp.stringOf("bannerPhoto.url");
    boolean canHaveChatterGuests = jResp.BoolOf("canHaveChatterGuests");
    String community = jResp.stringOf("community");
    String description = jResp.stringOf("description");
    String emailToChatterAddress = jResp.stringOf("emailToChatterAddress");
    int fileCount = jResp.IntOf("fileCount");
    String id = jResp.stringOf("id");
    String Text = jResp.stringOf("information.text");
    String Title = jResp.stringOf("information.title");
    boolean isArchived = jResp.BoolOf("isArchived");
    boolean isAutoArchiveDisabled = jResp.BoolOf("isAutoArchiveDisabled");
    boolean isBroadcast = jResp.BoolOf("isBroadcast");
    String lastFeedElementPostDate = jResp.stringOf("lastFeedElementPostDate");
    int memberCount = jResp.IntOf("memberCount");
    String Color = jResp.stringOf("motif.color");
    String LargeIconUrl = jResp.stringOf("motif.largeIconUrl");
    String MediumIconUrl = jResp.stringOf("motif.mediumIconUrl");
    String SmallIconUrl = jResp.stringOf("motif.smallIconUrl");
    String SvgIconUrl = jResp.stringOf("motif.svgIconUrl");
    String myRole = jResp.stringOf("myRole");
    String Id = jResp.stringOf("mySubscription.id");
    String mySubscriptionUrl = jResp.stringOf("mySubscription.url");
    String name = jResp.stringOf("name");
    String AdditionalLabel = jResp.stringOf("owner.additionalLabel");
    String CommunityNickname = jResp.stringOf("owner.communityNickname");
    String CompanyName = jResp.stringOf("owner.companyName");
    String DisplayName = jResp.stringOf("owner.displayName");
    String FirstName = jResp.stringOf("owner.firstName");
    String ownerId = jResp.stringOf("owner.id");
    boolean IsActive = jResp.BoolOf("owner.isActive");
    boolean IsInThisCommunity = jResp.BoolOf("owner.isInThisCommunity");
    String LastName = jResp.stringOf("owner.lastName");
    String MotifColor = jResp.stringOf("owner.motif.color");
    String MotifLargeIconUrl = jResp.stringOf("owner.motif.largeIconUrl");
    String MotifMediumIconUrl = jResp.stringOf("owner.motif.mediumIconUrl");
    String MotifSmallIconUrl = jResp.stringOf("owner.motif.smallIconUrl");
    String MotifSvgIconUrl = jResp.stringOf("owner.motif.svgIconUrl");
    String MySubscription = jResp.stringOf("owner.mySubscription");
    String Name = jResp.stringOf("owner.name");
    String Message = jResp.stringOf("owner.outOfOffice.message");
    String FullEmailPhotoUrl = jResp.stringOf("owner.photo.fullEmailPhotoUrl");
    String LargePhotoUrl = jResp.stringOf("owner.photo.largePhotoUrl");
    String MediumPhotoUrl = jResp.stringOf("owner.photo.mediumPhotoUrl");
    String PhotoVersionId = jResp.stringOf("owner.photo.photoVersionId");
    String SmallPhotoUrl = jResp.stringOf("owner.photo.smallPhotoUrl");
    String StandardEmailPhotoUrl = jResp.stringOf("owner.photo.standardEmailPhotoUrl");
    String PhotoUrl = jResp.stringOf("owner.photo.url");
    String Reputation = jResp.stringOf("owner.reputation");
    String ownerTitle = jResp.stringOf("owner.title");
    String v_Type = jResp.stringOf("owner.type");
    String ownerUrl = jResp.stringOf("owner.url");
    String UserType = jResp.stringOf("owner.userType");
    int pendingRequests = jResp.IntOf("pendingRequests");
    String photoFullEmailPhotoUrl = jResp.stringOf("photo.fullEmailPhotoUrl");
    String photoLargePhotoUrl = jResp.stringOf("photo.largePhotoUrl");
    String photoMediumPhotoUrl = jResp.stringOf("photo.mediumPhotoUrl");
    String photoPhotoVersionId = jResp.stringOf("photo.photoVersionId");
    String photoSmallPhotoUrl = jResp.stringOf("photo.smallPhotoUrl");
    String photoStandardEmailPhotoUrl = jResp.stringOf("photo.standardEmailPhotoUrl");
    String photoUrl = jResp.stringOf("photo.url");
    String v_type = jResp.stringOf("type");
    String url = jResp.stringOf("url");
    String visibility = jResp.stringOf("visibility");
  }
}

Curl Command

curl -X POST
	-H "Authorization: Bearer <access_token>"
https://domain.com/services/data/v{{version}}/chatter/groups?name=New Chatter Group  (Private Access)&visibility=PrivateAccess&description=Created via API&information=Private Information&isArchived=false&isAutoArchiveDisabled=false&isBroadcast=false&canHaveChatterGuests	=true

Postman Collection Item JSON

{
  "name": "List of Groups - POST",
  "event": [
    {
      "listen": "prerequest",
      "script": {
        "exec": [
          ""
        ],
        "type": "text/javascript"
      }
    },
    {
      "listen": "test",
      "script": {
        "exec": [
          ""
        ],
        "type": "text/javascript"
      }
    }
  ],
  "protocolProfileBehavior": {
    "disabledSystemHeaders": {}
  },
  "request": {
    "method": "POST",
    "header": [
    ],
    "url": {
      "raw": "{{_endpoint}}/services/data/v{{version}}/chatter/groups?name=New Chatter Group  (Private Access)&visibility=PrivateAccess&description=Created via API&information=Private Information&isArchived=false&isAutoArchiveDisabled=false&isBroadcast=false&canHaveChatterGuests\t=true",
      "host": [
        "{{_endpoint}}"
      ],
      "path": [
        "services",
        "data",
        "v{{version}}",
        "chatter",
        "groups"
      ],
      "query": [
        {
          "key": "name",
          "value": "New Chatter Group  (Private Access)"
        },
        {
          "key": "visibility",
          "value": "PrivateAccess",
          "description": "PrivateAccess—Only members of the group can see posts to this group.\nPublicAccess—All users within the community can see posts to this group.\nUnlisted—Reserved for future use."
        },
        {
          "key": "description",
          "value": "Created via API"
        },
        {
          "key": "information",
          "value": "Private Information",
          "description": "If the group is private, the “Information” section is visible only to members."
        },
        {
          "key": "isArchived",
          "value": "false"
        },
        {
          "key": "isAutoArchiveDisabled",
          "value": "false",
          "description": "true if automatic archiving is turned off for the group, false otherwise. Defaults to false. If true, if there are no posts or comments for 90 days the group is archived."
        },
        {
          "key": "isBroadcast",
          "value": "false",
          "description": "true if only group owners and managers can create posts in the group, false otherwise."
        },
        {
          "key": "canHaveChatterGuests\t",
          "value": "true",
          "description": "true if this group allows Chatter customers, false otherwise. After this property is set to true, it cannot be set to false."
        }
      ]
    },
    "description": "A list of all the groups in the organization. Get information about groups or create a group.\n\nhttps://developer.salesforce.com/docs/atlas.en-us.chatterapi.meta/chatterapi/connect_resources_groups_ListOfGroups.htm"
  },
  "response": [
    {
      "name": "Successful List of Groups - POST",
      "originalRequest": {
        "method": "POST",
        "header": [
        ],
        "url": {
          "raw": "{{_endpoint}}/services/data/v{{version}}/chatter/groups?name=New Chatter Group  (Private Access)&visibility=PrivateAccess&description=Created via API&information=Private Information&isArchived=false&isAutoArchiveDisabled=false&isBroadcast=false&canHaveChatterGuests\t=true",
          "host": [
            "{{_endpoint}}"
          ],
          "path": [
            "services",
            "data",
            "v{{version}}",
            "chatter",
            "groups"
          ],
          "query": [
            {
              "key": "name",
              "value": "New Chatter Group  (Private Access)"
            },
            {
              "key": "visibility",
              "value": "PrivateAccess",
              "description": "PrivateAccess—Only members of the group can see posts to this group.\nPublicAccess—All users within the community can see posts to this group.\nUnlisted—Reserved for future use."
            },
            {
              "key": "description",
              "value": "Created via API"
            },
            {
              "key": "information",
              "value": "Private Information",
              "description": "If the group is private, the “Information” section is visible only to members."
            },
            {
              "key": "isArchived",
              "value": "false"
            },
            {
              "key": "isAutoArchiveDisabled",
              "value": "false",
              "description": "true if automatic archiving is turned off for the group, false otherwise. Defaults to false. If true, if there are no posts or comments for 90 days the group is archived."
            },
            {
              "key": "isBroadcast",
              "value": "false",
              "description": "true if only group owners and managers can create posts in the group, false otherwise."
            },
            {
              "key": "canHaveChatterGuests\t",
              "value": "true",
              "description": "true if this group allows Chatter customers, false otherwise. After this property is set to true, it cannot be set to false."
            }
          ]
        }
      },
      "status": "Created",
      "code": 201,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Date",
          "value": "Wed, 22 Nov 2023 11:29:04 GMT"
        },
        {
          "key": "Strict-Transport-Security",
          "value": "max-age=63072000; includeSubDomains"
        },
        {
          "key": "X-Content-Type-Options",
          "value": "nosniff"
        },
        {
          "key": "X-XSS-Protection",
          "value": "1; mode=block"
        },
        {
          "key": "X-Robots-Tag",
          "value": "none"
        },
        {
          "key": "Cache-Control",
          "value": "no-cache,must-revalidate,max-age=0,no-store,private"
        },
        {
          "key": "Content-Type",
          "value": "application/json;charset=UTF-8"
        },
        {
          "key": "Vary",
          "value": "Accept-Encoding"
        },
        {
          "key": "Content-Encoding",
          "value": "gzip"
        },
        {
          "key": "Transfer-Encoding",
          "value": "chunked"
        }
      ],
      "cookie": [
      ],
      "body": "{\n    \"additionalLabel\": \"Private With Customers\",\n    \"announcement\": null,\n    \"bannerPhoto\": {\n        \"bannerPhotoUrl\": \"https://<my_domain>/profilephoto/0F9/B\",\n        \"bannerPhotoVersionId\": null,\n        \"url\": \"/services/data/v58.0/chatter/groups/0F9.../banner-photo\"\n    },\n    \"canHaveChatterGuests\": true,\n    \"community\": null,\n    \"description\": \"Created via API\",\n    \"emailToChatterAddress\": \"0F9...@post.2o-i6mbeaq.eu25.chatter.salesforce.com\",\n    \"fileCount\": 0,\n    \"id\": \"0F9...\",\n    \"information\": {\n        \"text\": null,\n        \"title\": null\n    },\n    \"isArchived\": false,\n    \"isAutoArchiveDisabled\": false,\n    \"isBroadcast\": false,\n    \"lastFeedElementPostDate\": \"2023-11-22T11:29:05.000Z\",\n    \"memberCount\": 1,\n    \"motif\": {\n        \"color\": \"1B96FF\",\n        \"largeIconUrl\": \"/img/icon/groups64.png\",\n        \"mediumIconUrl\": \"/img/icon/groups32.png\",\n        \"smallIconUrl\": \"/img/icon/groups16.png\",\n        \"svgIconUrl\": null\n    },\n    \"myRole\": \"GroupOwner\",\n    \"mySubscription\": {\n        \"id\": \"0FB...\",\n        \"url\": \"/services/data/v58.0/chatter/group-memberships/0FB...\"\n    },\n    \"name\": \"New Chatter Group  (Private Access)\",\n    \"owner\": {\n        \"additionalLabel\": null,\n        \"communityNickname\": \"User1696423780773910041\",\n        \"companyName\": \"Salesforce\",\n        \"displayName\": \"Name\",\n        \"firstName\": \"Firstname\",\n        \"id\": \"005...\",\n        \"isActive\": true,\n        \"isInThisCommunity\": true,\n        \"lastName\": \"Name\",\n        \"motif\": {\n            \"color\": \"1B96FF\",\n            \"largeIconUrl\": \"/img/icon/profile64.png\",\n            \"mediumIconUrl\": \"/img/icon/profile32.png\",\n            \"smallIconUrl\": \"/img/icon/profile16.png\",\n            \"svgIconUrl\": null\n        },\n        \"mySubscription\": null,\n        \"name\": \"Name\",\n        \"outOfOffice\": {\n            \"message\": \"\"\n        },\n        \"photo\": {\n            \"fullEmailPhotoUrl\": \"https://<my_domain>/ncsphoto/1wsMlOd3tVC7boygqBO8wMT9KzA0D6tqzpbs-Uw0IogXzXAXaYKJnuWCNQmXymRq?fromEmail=1\",\n            \"largePhotoUrl\": \"https://<my_domain>/profilephoto/729.../F\",\n            \"mediumPhotoUrl\": \"https://<my_domain>/profilephoto/729.../M\",\n            \"photoVersionId\": \"729...\",\n            \"smallPhotoUrl\": \"https://<my_domain>/profilephoto/729.../T\",\n            \"standardEmailPhotoUrl\": \"https://<my_domain>/ncsphoto/1wsMlOd3tVC7boygqBO8wMT9KzA0D6tqzpbs-Uw0Ioi-dtynkoFWsl46as__TDFU?fromEmail=1\",\n            \"url\": \"/services/data/v58.0/connect/user-profiles/005.../photo\"\n        },\n        \"reputation\": null,\n        \"title\": null,\n        \"type\": \"User\",\n        \"url\": \"/services/data/v58.0/chatter/users/005...\",\n        \"userType\": \"Internal\"\n    },\n    \"pendingRequests\": 0,\n    \"photo\": {\n        \"fullEmailPhotoUrl\": \"https://<my_domain>/img/userprofile/default_group_profile_200_v2.png?fromEmail=1\",\n        \"largePhotoUrl\": \"https://<my_domain>/profilephoto/0F9/F\",\n        \"mediumPhotoUrl\": \"https://<my_domain>/profilephoto/0F9/M\",\n        \"photoVersionId\": null,\n        \"smallPhotoUrl\": \"https://<my_domain>/profilephoto/0F9/T\",\n        \"standardEmailPhotoUrl\": \"https://<my_domain>/img/userprofile/default_group_profile_45_v2.png?fromEmail=1\",\n        \"url\": \"/services/data/v58.0/chatter/groups/0F9.../photo\"\n    },\n    \"type\": \"CollaborationGroup\",\n    \"url\": \"/services/data/v58.0/chatter/groups/0F9...\",\n    \"visibility\": \"PrivateAccess\"\n}"
    }
  ]
}