Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Objective-C) List GroupsList all the groups available in an organization, including but not limited to Office 365 Groups. See https://docs.microsoft.com/en-us/graph/api/group-list?view=graph-rest-1.0 for more information.
#import <CkoHttp.h> #import <CkoJsonObject.h> #import <NSString.h> // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkoHttp *http = [[CkoHttp alloc] init]; // Use your previously obtained access token as shown here: // Get Microsoft Graph OAuth2 Access Token with Group.ReadWrite.All scope. CkoJsonObject *jsonToken = [[CkoJsonObject alloc] init]; BOOL success = [jsonToken LoadFile: @"qa_data/tokens/msGraphGroup.json"]; if (success == NO) { NSLog(@"%@",jsonToken.LastErrorText); return; } http.AuthToken = [jsonToken StringOf: @"access_token"]; // Send a GET request to https://graph.microsoft.com/v1.0/groups?$orderby=displayName NSString *strResponse = [http QuickGetStr: @"https://graph.microsoft.com/v1.0/groups?$orderby=displayName"]; if (http.LastMethodSuccess == NO) { NSLog(@"%@",http.LastErrorText); return; } CkoJsonObject *json = [[CkoJsonObject alloc] init]; [json Load: strResponse]; json.EmitCompact = NO; if ([http.LastStatus intValue] != 200) { NSLog(@"%@",[json Emit]); NSLog(@"%@%d",@"Failed, response status code = ",[http.LastStatus intValue]); return; } NSLog(@"%@",[json Emit]); // Sample output: // (See parsing code below..) // { // "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#groups", // "value": [ // { // "id": "45b7d2e7-b882-4a80-ba97-10b7a63b8fa4", // "deletedDateTime": null, // "classification": null, // "createdDateTime": "2018-12-22T02:21:05Z", // "creationOptions": [], // "description": "Self help community for golf", // "displayName": "Golf Assist", // "groupTypes": [ // "Unified" // ], // "mail": "golfassist@contoso.com", // "mailEnabled": true, // "mailNickname": "golfassist", // "onPremisesLastSyncDateTime": null, // "onPremisesSecurityIdentifier": null, // "onPremisesSyncEnabled": null, // "preferredDataLocation": "CAN", // "proxyAddresses": [ // "smtp:golfassist@contoso.onmicrosoft.com", // "SMTP:golfassist@contoso.com" // ], // "renewedDateTime": "2018-12-22T02:21:05Z", // "resourceBehaviorOptions": [], // "resourceProvisioningOptions": [], // "securityEnabled": false, // "visibility": "Public", // "onPremisesProvisioningErrors": [] // }, // { // "id": "d7797254-3084-44d0-99c9-a3b5ab149538", // "deletedDateTime": null, // "classification": null, // "createdDateTime": "2018-11-19T20:29:40Z", // "creationOptions": [], // "description": "Talk about golf", // "displayName": "Golf Discussion", // "groupTypes": [], // "mail": "golftalk@contoso.com", // "mailEnabled": true, // "mailNickname": "golftalk", // "onPremisesLastSyncDateTime": null, // "onPremisesSecurityIdentifier": null, // "onPremisesSyncEnabled": null, // "preferredDataLocation": "CAN", // "proxyAddresses": [ // "smtp:golftalk@contoso.onmicrosoft.com", // "SMTP:golftalk@contoso.com" // ], // "renewedDateTime": "2018-11-19T20:29:40Z", // "resourceBehaviorOptions": [], // "resourceProvisioningOptions": [], // "securityEnabled": false, // "visibility": null, // "onPremisesProvisioningErrors": [] // } // ] // } // // Use this online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON NSString *odataContext = 0; int i; int count_i; NSString *id = 0; NSString *deletedDateTime = 0; NSString *classification = 0; NSString *createdDateTime = 0; NSString *description = 0; NSString *displayName = 0; NSString *mail = 0; BOOL mailEnabled; NSString *mailNickname = 0; NSString *onPremisesLastSyncDateTime = 0; NSString *onPremisesSecurityIdentifier = 0; NSString *onPremisesSyncEnabled = 0; NSString *preferredDataLocation = 0; NSString *renewedDateTime = 0; BOOL securityEnabled; NSString *visibility = 0; int j; int count_j; NSString *strVal = 0; odataContext = [json StringOf: @"\"@odata.context\""]; i = 0; count_i = [[json SizeOfArray: @"value"] intValue]; while (i < count_i) { json.I = [NSNumber numberWithInt: i]; id = [json StringOf: @"value[i].id"]; deletedDateTime = [json StringOf: @"value[i].deletedDateTime"]; classification = [json StringOf: @"value[i].classification"]; createdDateTime = [json StringOf: @"value[i].createdDateTime"]; description = [json StringOf: @"value[i].description"]; displayName = [json StringOf: @"value[i].displayName"]; mail = [json StringOf: @"value[i].mail"]; mailEnabled = [json BoolOf: @"value[i].mailEnabled"]; mailNickname = [json StringOf: @"value[i].mailNickname"]; onPremisesLastSyncDateTime = [json StringOf: @"value[i].onPremisesLastSyncDateTime"]; onPremisesSecurityIdentifier = [json StringOf: @"value[i].onPremisesSecurityIdentifier"]; onPremisesSyncEnabled = [json StringOf: @"value[i].onPremisesSyncEnabled"]; preferredDataLocation = [json StringOf: @"value[i].preferredDataLocation"]; renewedDateTime = [json StringOf: @"value[i].renewedDateTime"]; securityEnabled = [json BoolOf: @"value[i].securityEnabled"]; visibility = [json StringOf: @"value[i].visibility"]; j = 0; count_j = [[json SizeOfArray: @"value[i].creationOptions"] intValue]; while (j < count_j) { json.J = [NSNumber numberWithInt: j]; // ... j = j + 1; } j = 0; count_j = [[json SizeOfArray: @"value[i].groupTypes"] intValue]; while (j < count_j) { json.J = [NSNumber numberWithInt: j]; strVal = [json StringOf: @"value[i].groupTypes[j]"]; j = j + 1; } j = 0; count_j = [[json SizeOfArray: @"value[i].proxyAddresses"] intValue]; while (j < count_j) { json.J = [NSNumber numberWithInt: j]; strVal = [json StringOf: @"value[i].proxyAddresses[j]"]; j = j + 1; } j = 0; count_j = [[json SizeOfArray: @"value[i].resourceBehaviorOptions"] intValue]; while (j < count_j) { json.J = [NSNumber numberWithInt: j]; // ... j = j + 1; } j = 0; count_j = [[json SizeOfArray: @"value[i].resourceProvisioningOptions"] intValue]; while (j < count_j) { json.J = [NSNumber numberWithInt: j]; // ... j = j + 1; } j = 0; count_j = [[json SizeOfArray: @"value[i].onPremisesProvisioningErrors"] intValue]; while (j < count_j) { json.J = [NSNumber numberWithInt: j]; // ... j = j + 1; } i = i + 1; } NSLog(@"%@",@"Success."); |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.