Dart Requires Chilkat v11.0.0+
Dart
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 Dart Downloads
import 'package:chilkat/chilkat.dart';
void main() {
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
final http = CkHttp();
// Use your previously obtained access token as shown here:
// Get Microsoft Graph OAuth2 Access Token with Group.ReadWrite.All scope.
final jsonToken = CkJsonObject();
try {
jsonToken.loadFile('qa_data/tokens/msGraphGroup.json');
} on ChilkatException catch (e) {
print(e.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
// }
final json = CkJsonObject();
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
final resp = CkHttpResponse();
try {
http.httpJson('POST', 'https://graph.microsoft.com/v1.0/groups', json, 'application/json', resp);
} on ChilkatException catch (e) {
print(e.lastErrorText);
return;
}
json.load(resp.bodyStr);
json.emitCompact = false;
if (resp.statusCode != 201) {
print(json.emit());
print('Failed, response status code = ${resp.statusCode}');
return;
}
print(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
var i = 0;
var countI = 0;
var strVal = '';
final id = json.stringOf('id');
final deletedDateTime = json.stringOf('deletedDateTime');
final classification = json.stringOf('classification');
final createdDateTime = json.stringOf('createdDateTime');
final description = json.stringOf('description');
final displayName = json.stringOf('displayName');
final mail = json.stringOf('mail');
final mailNickname = json.stringOf('mailNickname');
final onPremisesLastSyncDateTime = json.stringOf('onPremisesLastSyncDateTime');
final onPremisesSecurityIdentifier = json.stringOf('onPremisesSecurityIdentifier');
final onPremisesSyncEnabled = json.stringOf('onPremisesSyncEnabled');
final preferredDataLocation = json.stringOf('preferredDataLocation');
final renewedDateTime = json.stringOf('renewedDateTime');
final 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++;
}
print('Success.');
}