Chilkat • HOME • Android™ • Classic ASP • C • C++ • C# • Mono C# • .NET Core C# • C# UWP/WinRT • DataFlex • Delphi ActiveX • Delphi DLL • Visual FoxPro • Java • Lianja • MFC • Objective-C • Perl • PHP ActiveX • PHP Extension • PowerBuilder • PowerShell • PureBasic • CkPython • Chilkat2-Python • Ruby • SQL Server • Swift 2 • Swift 3,4,5... • Tcl • Unicode C • Unicode C++ • Visual Basic 6.0 • VB.NET • VB.NET UWP/WinRT • VBScript • Xojo Plugin • Node.js • Excel • Go
(C# UWP/WinRT) Upload Application Specific DataUploads a text file (application specific data) where the contents of the file are contained in a string variable.
bool success = true; // It requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // This example uses a previously obtained access token having permission for the // Google Drive application specific data scope. Chilkat.JsonObject jsonToken = new Chilkat.JsonObject(); success = jsonToken.LoadFile("qa_data/tokens/googleDriveAppData.json"); Chilkat.AuthGoogle gAuth = new Chilkat.AuthGoogle(); gAuth.AccessToken = jsonToken.StringOf("access_token"); Chilkat.Rest rest = new Chilkat.Rest(); // Connect using TLS. bool bAutoReconnect = true; success = await rest.ConnectAsync("www.googleapis.com",443,true,bAutoReconnect); // Provide the authentication credentials (i.e. the access token) rest.SetAuthGoogle(gAuth); // A multipart upload to Google Drive needs a multipart/related Content-Type rest.AddHeader("Content-Type","multipart/related"); // Specify each part of the request. // The 1st part is JSON with information about the file. rest.PartSelector = "1"; rest.AddHeader("Content-Type","application/json; charset=UTF-8"); Chilkat.JsonObject json = new Chilkat.JsonObject(); json.EmitCompact = false; json.UpdateString("name","helloWorld.txt"); json.UpdateString("description","A simple text file that says Hello World."); json.UpdateString("mimeType","text/plain"); // Specifiy the application-specific data folder. json.UpdateString("parents[0]","appDataFolder"); rest.SetMultipartBodyString(json.Emit()); Debug.WriteLine(json.Emit()); // The JSON looks like this: // { // "name": "helloWorld.txt", // "description": "A simple text file that says Hello World.", // "mimeType": "text/plain", // "parents": [ // "appDataFolder" // ] // } // The 2nd part is the file content. // In this case, we'll upload a simple text file containing "Hello World!" rest.PartSelector = "2"; rest.AddHeader("Content-Type","text/plain"); string fileContents = "Hello World!"; rest.SetMultipartBodyString(fileContents); string jsonResponse = await rest.FullRequestMultipartAsync("POST","/upload/drive/v3/files?uploadType=multipart"); if (rest.LastMethodSuccess != true) { Debug.WriteLine(rest.LastErrorText); return; } // A successful response will have a status code equal to 200. if (rest.ResponseStatusCode != 200) { Debug.WriteLine("response status code = " + Convert.ToString(rest.ResponseStatusCode)); Debug.WriteLine("response status text = " + rest.ResponseStatusText); Debug.WriteLine("response header: " + rest.ResponseHeader); Debug.WriteLine("response JSON: " + jsonResponse); return; } // Show the JSON response. json.Load(jsonResponse); // Show the full JSON response. json.EmitCompact = false; Debug.WriteLine(json.Emit()); // A successful response looks like this: // { // "kind": "drive#file", // "id": "0B53Q6OSTWYoldmJ0Z3ZqT2x5MFk", // "name": "Untitled", // "mimeType": "text/plain" // } // Get the fileId: Debug.WriteLine("fileId: " + json.StringOf("id")); |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.