![]()  | 
  
Chilkat  HOME  Android™  AutoIt  C  C#  C++  Chilkat2-Python  CkPython  Classic ASP  DataFlex  Delphi DLL  Go  Java  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
 
      (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-2025 Chilkat Software, Inc. All Rights Reserved.