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
(PowerBuilder) Dropbox: Access Your Own AccountTo programmatically interact with your own Dropbox account, such as for uploading, downloading, listing files, etc., go to the Dropbox app console and create an application. Then generate an access token in the online app console as shown in the screenshot below. The access token does not expire, and can be used to access your own account from your own non-web application. The example code, located below the screenshot, shows how to list the files in the root folder.
integer li_rc oleobject loo_Rest integer li_BTls integer li_Port integer li_BAutoReconnect integer li_Success oleobject loo_Json string ls_ResponseStr oleobject loo_JsonResponse integer li_NumEntries integer i oleobject loo_Ckdt integer li_BLocalDateTime oleobject loo_Dt // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. loo_Rest = create oleobject // Use "Chilkat_9_5_0.Rest" for versions of Chilkat < 10.0.0 li_rc = loo_Rest.ConnectToNewObject("Chilkat.Rest") if li_rc < 0 then destroy loo_Rest MessageBox("Error","Connecting to COM object failed") return end if // Connect to the www.dropbox.com endpoint. li_BTls = 1 li_Port = 443 li_BAutoReconnect = 1 li_Success = loo_Rest.Connect("api.dropboxapi.com",li_Port,li_BTls,li_BAutoReconnect) if li_Success <> 1 then Write-Debug loo_Rest.LastErrorText destroy loo_Rest return end if loo_Rest.AddHeader("Content-Type","application/json") loo_Rest.AddHeader("Authorization","Bearer DROPBOX-ACCESS-TOKEN") loo_Json = create oleobject // Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 li_rc = loo_Json.ConnectToNewObject("Chilkat.JsonObject") // The root folder should be an empty string, not "/" loo_Json.AppendString("path","") loo_Json.AppendBool("recursive",0) loo_Json.AppendBool("include_media_info",0) loo_Json.AppendBool("include_deleted",0) loo_Json.AppendBool("include_has_explicit_shared_members",0) ls_ResponseStr = loo_Rest.FullRequestString("POST","/2/files/list_folder",loo_Json.Emit()) if loo_Rest.LastMethodSuccess <> 1 then Write-Debug loo_Rest.LastErrorText destroy loo_Rest destroy loo_Json return end if // Success is indicated by a 200 response status code. if loo_Rest.ResponseStatusCode <> 200 then // Examine the request/response to see what happened. Write-Debug "response status code = " + string(loo_Rest.ResponseStatusCode) Write-Debug "response status text = " + loo_Rest.ResponseStatusText Write-Debug "response header: " + loo_Rest.ResponseHeader Write-Debug "response body (if any): " + ls_ResponseStr Write-Debug "---" Write-Debug "LastRequestStartLine: " + loo_Rest.LastRequestStartLine Write-Debug "LastRequestHeader: " + loo_Rest.LastRequestHeader destroy loo_Rest destroy loo_Json return end if loo_JsonResponse = create oleobject // Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 li_rc = loo_JsonResponse.ConnectToNewObject("Chilkat.JsonObject") loo_JsonResponse.Load(ls_ResponseStr) loo_JsonResponse.EmitCompact = 0 Write-Debug loo_JsonResponse.Emit() // A sample JSON response is shown at the end of this example. // The following code iterates over the entries. li_NumEntries = loo_JsonResponse.SizeOfArray("entries") i = 0 do while i < li_NumEntries loo_JsonResponse.I = i Write-Debug "----" Write-Debug "name: " + loo_JsonResponse.StringOf("entries[i].name") Write-Debug "path_lower: " + loo_JsonResponse.StringOf("entries[i].path_lower") Write-Debug "path_display: " + loo_JsonResponse.StringOf("entries[i].path_display") if loo_JsonResponse.HasMember("entries[i].sharing_info") = 1 then Write-Debug "has sharing_info..." Write-Debug "read_only: " + loo_JsonResponse.StringOf("entries[i].sharing_info.read_only") Write-Debug "shared_folder_id: " + loo_JsonResponse.StringOf("entries[i].sharing_info.shared_folder_id") end if if loo_JsonResponse.HasMember("entries[i].client_modified") = 1 then // Demonstrate how to parse a date/time: loo_Ckdt = create oleobject // Use "Chilkat_9_5_0.CkDateTime" for versions of Chilkat < 10.0.0 li_rc = loo_Ckdt.ConnectToNewObject("Chilkat.CkDateTime") li_Success = loo_Ckdt.SetFromTimestamp(loo_JsonResponse.StringOf("entries[i].client_modified")) // The date/time can now be converted to many other formats, or the individual parts // can be accessed. li_BLocalDateTime = 1 loo_Dt = loo_Ckdt.GetDtObj(li_BLocalDateTime) Write-Debug string(loo_Dt.Year) + "-" + string(loo_Dt.Month) + "-" + string(loo_Dt.Day) destroy loo_Dt end if i = i + 1 loop Write-Debug "Success." // { // "entries": [ // { // ".tag": "folder", // "name": "chilkat Team Folder", // "path_lower": "/chilkat team folder", // "path_display": "/chilkat Team Folder", // "id": "id:2VqX9RLr-JAAAAAAAAAAAQ", // "shared_folder_id": "1210954290", // "sharing_info": { // "read_only": false, // "shared_folder_id": "1210954290" // } // }, // { // ".tag": "file", // "name": "Get Started with Dropbox.pdf", // "path_lower": "/get started with dropbox.pdf", // "path_display": "/Get Started with Dropbox.pdf", // "id": "id:oxE2oMDqH4AAAAAAAAAAAQ", // "client_modified": "2016-05-07T11:47:47Z", // "server_modified": "2016-05-07T11:47:47Z", // "rev": "1483db13f", // "size": 692088 // } // ], // "cursor": "AAEnZXciJyS4gzC_tlX6K2na4c8o7_09-dxmXKHpkPPyf3Kl0H4N-VYnz424nCrFOJuhMiM5_RgNAersumx9qe7NgCSdlppr80iFk0gf6vPlecM6SBtLcs6OYXL8ILWiZ62pfnOvgC3WKGlG6dqZ-VXH", // "has_more": false // } // destroy loo_Rest destroy loo_Json destroy loo_JsonResponse destroy loo_Ckdt |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.