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
(Tcl) Upload File from StringUploads a text file where the contents of the file are contained in a string variable. See Google Drive Files: create for more details. Also See Google Drive Multipart Upload for more details.
load ./chilkat.dll set success 1 # 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 scope. set gAuth [new_CkAuthGoogle] CkAuthGoogle_put_AccessToken $gAuth "GOOGLE-DRIVE-ACCESS-TOKEN" set rest [new_CkRest] # Connect using TLS. set bAutoReconnect 1 set success [CkRest_Connect $rest "www.googleapis.com" 443 1 $bAutoReconnect] # Provide the authentication credentials (i.e. the access token) CkRest_SetAuthGoogle $rest $gAuth # A multipart upload to Google Drive needs a multipart/related Content-Type CkRest_AddHeader $rest "Content-Type" "multipart/related" # Specify each part of the request. # The 1st part is JSON with information about the file. CkRest_put_PartSelector $rest "1" CkRest_AddHeader $rest "Content-Type" "application/json; charset=UTF-8" set json [new_CkJsonObject] CkJsonObject_AppendString $json "name" "helloWorld.txt" CkJsonObject_AppendString $json "description" "A simple text file that says Hello World." CkJsonObject_AppendString $json "mimeType" "text/plain" CkRest_SetMultipartBodyString $rest [CkJsonObject_emit $json] # The 2nd part is the file content. # In this case, we'll upload a simple text file containing "Hello World!" CkRest_put_PartSelector $rest "2" CkRest_AddHeader $rest "Content-Type" "text/plain" set fileContents "Hello World!" CkRest_SetMultipartBodyString $rest $fileContents set jsonResponse [CkRest_fullRequestMultipart $rest "POST" "/upload/drive/v3/files?uploadType=multipart"] if {[CkRest_get_LastMethodSuccess $rest] != 1} then { puts [CkRest_lastErrorText $rest] delete_CkAuthGoogle $gAuth delete_CkRest $rest delete_CkJsonObject $json exit } # A successful response will have a status code equal to 200. if {[CkRest_get_ResponseStatusCode $rest] != 200} then { puts "response status code = [CkRest_get_ResponseStatusCode $rest]" puts "response status text = [CkRest_responseStatusText $rest]" puts "response header: [CkRest_responseHeader $rest]" puts "response JSON: $jsonResponse" delete_CkAuthGoogle $gAuth delete_CkRest $rest delete_CkJsonObject $json exit } # Show the JSON response. CkJsonObject_Load $json $jsonResponse # Show the full JSON response. CkJsonObject_put_EmitCompact $json 0 puts [CkJsonObject_emit $json] # A successful response looks like this: # { # "kind": "drive#file", # "id": "0B53Q6OSTWYoldmJ0Z3ZqT2x5MFk", # "name": "Untitled", # "mimeType": "text/plain" # } # Get the fileId: puts "fileId: [CkJsonObject_stringOf $json id]" delete_CkAuthGoogle $gAuth delete_CkRest $rest delete_CkJsonObject $json |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.