![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java JavaScript Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Objective-C) curl with OAuth2 Client CredentialsSee more CURL ExamplesThis example shows how to run a simple CURL command with an OAuth2 access token for authorization. We use CURL to retrieve a SharePoint site ID, and Chilkat automatically fetches the OAuth2 access token using the provided credentials.Note: This example requires Chilkat v11.5.0 or greater.
#import <CkoStringBuilder.h> #import <CkoJsonObject.h> #import <CkoHttpCurl.h> BOOL success = NO; // This example will run the following curl command // curl -X GET "https://graph.microsoft.com/v1.0/sites/{{sharepoint_hostname}}:/sites/{{site_name}}" \ // -H "Authorization: Bearer ACCESS_TOKEN" \ // -H "Accept: application/json" CkoStringBuilder *sb = [[CkoStringBuilder alloc] init]; [sb AppendLn: @"curl -X GET \"https://graph.microsoft.com/v1.0/sites/{{sharepoint_hostname}}:/sites/{{site_name}}\" \\"]; [sb AppendLn: @" -H \"Authorization: Bearer ACCESS_TOKEN\" \\"]; [sb AppendLn: @" -H \"Accept: application/json\""]; // Build the JSON that provides information for getting the OAuth2 access token using the OAuth2 client credentials flow. CkoJsonObject *jsonOAuth2 = [[CkoJsonObject alloc] init]; [jsonOAuth2 UpdateString: @"oauth2.client_id" value: @"CLIENT_ID"]; [jsonOAuth2 UpdateString: @"oauth2.client_secret" value: @"CLIENT_SECRET"]; [jsonOAuth2 UpdateString: @"oauth2.scope" value: @"https://graph.microsoft.com/.default"]; [jsonOAuth2 UpdateString: @"oauth2.token_endpoint" value: @"https://login.microsoftonline.com/TENANT_ID/oauth2/v2.0/token"]; CkoHttpCurl *httpCurl = [[CkoHttpCurl alloc] init]; // Provide the information for getting the OAuth2 access token from the token endpoint // Note: The Authorization header specified in the curl command will be ignored and replaced using the OAuth2 access token obtained at runtime from the token endpoint. [httpCurl SetAuth: jsonOAuth2]; // The placeholders {{sharepoint_hostname}} and {{site_name}} represent variables that must be defined before execution. // When DoYourThing runs the curl command, it automatically substitutes these placeholders with their corresponding values. // Below are the values assigned to these variables: [httpCurl SetVar: @"sharepoint_hostname" varValue: @"example.sharepoint.com"]; [httpCurl SetVar: @"site_name" varValue: @"test"]; // Run the curl command. success = [httpCurl DoYourThing: [sb GetAsString]]; if (success == NO) { NSLog(@"%@",httpCurl.LastErrorText); return; } CkoJsonObject *responseJson = [[CkoJsonObject alloc] init]; responseJson.EmitCompact = NO; [httpCurl GetResponseJson: responseJson]; int statusCode = [httpCurl.StatusCode intValue]; NSLog(@"%@%d",@"response status code: ",statusCode); NSLog(@"%@",[responseJson Emit]); |
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.