Sample code for 30+ languages & platforms
React Native Requires Chilkat v11.0.0+

Create Group

See more Microsoft Group Examples

Create a new group as specified in the request body. You can create one of three types of groups:
  • Office 365 Group (unified group)
  • Dynamic group
  • Security group

This operation returns by default only a subset of the properties for each group. These default properties are noted in the Properties section.

See https://docs.microsoft.com/en-us/graph/api/group-post-groups?view=graph-rest-1.0 for more information.

Chilkat React Native Downloads

React Native
import { Http, HttpResponse, JsonObject } from '@chilkat/react-native'

async function chilkatExample() {
  // This example requires the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  const http = new Http();

  // Use your previously obtained access token as shown here:
  //    Get Microsoft Graph OAuth2 Access Token with Group.ReadWrite.All scope.

  const jsonToken = new JsonObject();
  try {
    jsonToken.loadFile('qa_data/tokens/msGraphGroup.json');
  } catch {
    console.log(jsonToken.lastErrorText);
    return;
  }

  http.authToken = jsonToken.stringOf('access_token');

  // Create a JSON body for the HTTP POST
  // Use this online tool to generate the code from sample JSON: 
  // Generate Code to Create JSON

  // {
  //   "description": "Self help community for library",
  //   "displayName": "Library Assist",
  //   "groupTypes": [
  //     "Unified"
  //   ],
  //   "mailEnabled": true,
  //   "mailNickname": "library",
  //   "securityEnabled": false
  // }

  const json = new JsonObject();
  json.updateString('description', 'Self help community for library');
  json.updateString('displayName', 'Library Assist');
  json.updateString('groupTypes[0]', 'Unified');
  json.updateBool('mailEnabled', true);
  json.updateString('mailNickname', 'library');
  json.updateBool('securityEnabled', false);

  // POST the JSON to https://graph.microsoft.com/v1.0/groups

  const resp = new HttpResponse();
  try {
    await http.httpJsonAsync('POST', 'https://graph.microsoft.com/v1.0/groups', json, 'application/json', resp);
  } catch {
    console.log(http.lastErrorText);
    return;
  }

  json.load(resp.bodyStr);
  json.emitCompact = false;

  if (resp.statusCode !== 201) {
    console.log(json.emit());
    console.log(`Failed, response status code = ${resp.statusCode}`);
    return;
  }

  console.log(json.emit());

  // A sample response:
  // (See code for parsing this response below..)

  // {
  //     "id": "b320ee12-b1cd-4cca-b648-a437be61c5cd",
  // 	  "deletedDateTime": null,
  // 	  "classification": null,
  // 	  "createdDateTime": "2018-12-22T00:51:37Z",
  // 	  "creationOptions": [],
  // 	  "description": "Self help community for library",
  // 	  "displayName": "Library Assist",
  // 	  "groupTypes": [
  // 	      "Unified"
  // 	  ],
  // 	  "mail": "library7423@contoso.com",
  // 	  "mailEnabled": true,
  // 	  "mailNickname": "library",
  // 	  "onPremisesLastSyncDateTime": null,
  // 	  "onPremisesSecurityIdentifier": null,
  // 	  "onPremisesSyncEnabled": null,
  // 	  "preferredDataLocation": "CAN",
  // 	  "proxyAddresses": [
  // 	      "SMTP:library7423@contoso.com"
  // 	  ],
  // 	  "renewedDateTime": "2018-12-22T00:51:37Z",
  // 	  "resourceBehaviorOptions": [],
  // 	  "resourceProvisioningOptions": [],
  // 	  "securityEnabled": false,
  // 	  "visibility": "Public",
  // 	  "onPremisesProvisioningErrors": []
  // }

  // Use this online tool to generate parsing code from sample JSON: 
  // Generate Parsing Code from JSON

  let i = 0;
  let countI = 0;
  let strVal = '';

  const id = json.stringOf('id');
  const deletedDateTime = json.stringOf('deletedDateTime');
  const classification = json.stringOf('classification');
  const createdDateTime = json.stringOf('createdDateTime');
  const description = json.stringOf('description');
  const displayName = json.stringOf('displayName');
  const mail = json.stringOf('mail');
  const mailNickname = json.stringOf('mailNickname');
  const onPremisesLastSyncDateTime = json.stringOf('onPremisesLastSyncDateTime');
  const onPremisesSecurityIdentifier = json.stringOf('onPremisesSecurityIdentifier');
  const onPremisesSyncEnabled = json.stringOf('onPremisesSyncEnabled');
  const preferredDataLocation = json.stringOf('preferredDataLocation');
  const renewedDateTime = json.stringOf('renewedDateTime');
  const visibility = json.stringOf('visibility');
  i = 0;
  countI = json.sizeOfArray('creationOptions');
  while (i < countI) {
    json.i = i;
    i++;
  }

  i = 0;
  countI = json.sizeOfArray('groupTypes');
  while (i < countI) {
    json.i = i;
    strVal = json.stringOf('groupTypes[i]');
    i++;
  }

  i = 0;
  countI = json.sizeOfArray('proxyAddresses');
  while (i < countI) {
    json.i = i;
    strVal = json.stringOf('proxyAddresses[i]');
    i++;
  }

  i = 0;
  countI = json.sizeOfArray('resourceBehaviorOptions');
  while (i < countI) {
    json.i = i;
    // ...
    i++;
  }

  i = 0;
  countI = json.sizeOfArray('resourceProvisioningOptions');
  while (i < countI) {
    json.i = i;
    // ...
    i++;
  }

  i = 0;
  countI = json.sizeOfArray('onPremisesProvisioningErrors');
  while (i < countI) {
    json.i = i;
    // ...
    i++;
  }

  console.log('Success.');
}