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) Google Drive Multipart Upload StringDemonstrates a file upload to Google Drive where the contents of the file are contained in a string variable.
#import <CkoAuthGoogle.h> #import <CkoRest.h> #import <CkoJsonObject.h> #import <NSString.h> // This example will upload a file to Google Drive. BOOL success = YES; // It requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkoAuthGoogle *gAuth = [[CkoAuthGoogle alloc] init]; gAuth.Scope = @"https://www.googleapis.com/auth/drive"; gAuth.SubEmailAddress = @"some.user@example.com"; gAuth.ExpireNumSeconds = [NSNumber numberWithInt:3600]; // Obtain an access token as shown in one of the following examples: // See Get Access Token using a Service Account JSON Key // See Get Access Token using a P12 File CkoRest *rest = [[CkoRest alloc] init]; // Connect using TLS. BOOL bAutoReconnect = YES; success = [rest Connect: @"www.googleapis.com" port: [NSNumber numberWithInt: 443] tls: YES autoReconnect: bAutoReconnect]; // Provide the authentication credentials (i.e. the access key) success = [rest SetAuthGoogle: gAuth]; // A multipart upload to Google Drive needs a multipart/related Content-Type success = [rest AddHeader: @"Content-Type" value: @"multipart/related"]; // Specify each part of the request. // The 1st part is JSON with information about the file. rest.PartSelector = @"1"; success = [rest AddHeader: @"Content-Type" value: @"application/json; charset=UTF-8"]; CkoJsonObject *json = [[CkoJsonObject alloc] init]; success = [json AddStringAt: [NSNumber numberWithInt: -1] name: @"title" value: @"helloWorld.txt"]; success = [json AddStringAt: [NSNumber numberWithInt: -1] name: @"description" value: @"A simple text file that says Hello World."]; success = [json AddStringAt: [NSNumber numberWithInt: -1] name: @"mimeType" value: @"text/plain"]; success = [rest SetMultipartBodyString: [json Emit]]; // The 2nd part is the file content. // In this case, we'll upload a simple text file containing "Hello World!" rest.PartSelector = @"2"; success = [rest AddHeader: @"Content-Type" value: @"text/plain"]; success = [rest SetMultipartBodyString: @"Hello World!"]; // POST https://www.googleapis.com/upload/drive/v2/files NSString *jsonResponse = [rest FullRequestMultipart: @"POST" uriPath: @"/upload/drive/v2/files?uploadType=multipart"]; if (rest.LastMethodSuccess != YES) { NSLog(@"%@",rest.LastErrorText); return; } // Show the JSON response. NSLog(@"%@%d",@"Response Status Code: ",[rest.ResponseStatusCode intValue]); NSLog(@"%@%@",@"Json Response: ",jsonResponse); |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.