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) Create FolderIn the Drive API, a folder is essentially a file — one identified by the special folder MIME type application/vnd.google-apps.folder See Google Drive Files: create for more details. Also See Working with Folders for more details.
load ./chilkat.dll # Creating a folder is technically an upload of a 0-length file # having a MIME type of "application/vnd.google-apps.folder" 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 folder. CkRest_put_PartSelector $rest "1" CkRest_AddHeader $rest "Content-Type" "application/json; charset=UTF-8" set json [new_CkJsonObject] CkJsonObject_AppendString $json "name" "testFolder" CkJsonObject_AppendString $json "description" "A folder to contain test files." CkJsonObject_AppendString $json "mimeType" "application/vnd.google-apps.folder" CkRest_SetMultipartBodyString $rest [CkJsonObject_emit $json] # The 2nd part would be the file content. # Since this is a folder, skip the 2nd part entirely and go straight to the upload.. 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": "0B53Q6OSTWYolY2tPU1BnYW02T2c", # "name": "testFolder", # "mimeType": "application/vnd.google-apps.folder" # } # 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.