|  | 
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
| (SQL Server) List Files in Google DriveDemonstrates how to list files in Google Drive. See Google Drive Files list for more optional HTTP parameters. 
 -- Important: See this note about string length limitations for strings returned by sp_OAMethod calls. -- CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int DECLARE @iTmp0 int -- Important: Do not use nvarchar(max). See the warning about using nvarchar(max). DECLARE @sTmp0 nvarchar(4000) DECLARE @success int SELECT @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. DECLARE @gAuth int -- Use "Chilkat_9_5_0.AuthGoogle" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.AuthGoogle', @gAuth OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END EXEC sp_OASetProperty @gAuth, 'AccessToken', 'GOOGLE-DRIVE-ACCESS-TOKEN' DECLARE @rest int -- Use "Chilkat_9_5_0.Rest" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.Rest', @rest OUT -- Connect using TLS. DECLARE @bAutoReconnect int SELECT @bAutoReconnect = 1 EXEC sp_OAMethod @rest, 'Connect', @success OUT, 'www.googleapis.com', 443, 1, @bAutoReconnect -- Provide the authentication credentials (i.e. the access token) EXEC sp_OAMethod @rest, 'SetAuthGoogle', @success OUT, @gAuth -- Get 4 results per page. (The default page size is 100, with a max of 1000. EXEC sp_OAMethod @rest, 'AddQueryParam', @success OUT, 'pageSize', '4' -- This uses the Google Drive V3 API... (not V2) DECLARE @jsonResponse nvarchar(4000) EXEC sp_OAMethod @rest, 'FullRequestNoBody', @jsonResponse OUT, 'GET', '/drive/v3/files' EXEC sp_OAGetProperty @rest, 'LastMethodSuccess', @iTmp0 OUT IF @iTmp0 <> 1 BEGIN EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @gAuth EXEC @hr = sp_OADestroy @rest RETURN END -- A successful response will have a status code equal to 200. EXEC sp_OAGetProperty @rest, 'ResponseStatusCode', @iTmp0 OUT IF @iTmp0 <> 200 BEGIN EXEC sp_OAGetProperty @rest, 'LastRequestHeader', @sTmp0 OUT PRINT 'request header = ' + @sTmp0 EXEC sp_OAGetProperty @rest, 'ResponseStatusCode', @iTmp0 OUT PRINT 'response status code = ' + @iTmp0 EXEC sp_OAGetProperty @rest, 'ResponseStatusText', @sTmp0 OUT PRINT 'response status text = ' + @sTmp0 EXEC sp_OAGetProperty @rest, 'ResponseHeader', @sTmp0 OUT PRINT 'response header: ' + @sTmp0 PRINT 'response JSON: ' + @jsonResponse EXEC @hr = sp_OADestroy @gAuth EXEC @hr = sp_OADestroy @rest RETURN END -- A successful response looks like this: -- { -- "kind": "drive#fileList", -- "files": [ -- { -- "kind": "drive#file", -- "id": "0B53Q6OSTWYolenpjTEU4ekJlQUU", -- "name": "test", -- "mimeType": "application/vnd.google-apps.folder" -- }, -- { -- "kind": "drive#file", -- "id": "0B53Q6OSTWYolRm4ycjZtdXhRaEE", -- "name": "starfish4.jpg", -- "mimeType": "image/jpeg" -- }, -- { -- "kind": "drive#file", -- "id": "0B53Q6OSTWYolMWt2VzN0Qlo1UjA", -- "name": "hamlet2.xml", -- "mimeType": "text/xml" -- }, -- ... -- { -- "kind": "drive#file", -- "id": "0B53Q6OSTWYolc3RhcnRlcl9maWxlX2Rhc2hlclYw", -- "name": "Getting started", -- "mimeType": "application/pdf" -- } -- ] -- } -- Iterate over each file in the response and show the name, id, and mimeType. DECLARE @json int -- Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @json OUT EXEC sp_OAMethod @json, 'Load', @success OUT, @jsonResponse -- Show the full JSON response. EXEC sp_OASetProperty @json, 'EmitCompact', 0 EXEC sp_OAMethod @json, 'Emit', @sTmp0 OUT PRINT @sTmp0 DECLARE @numFiles int EXEC sp_OAMethod @json, 'SizeOfArray', @numFiles OUT, 'files' DECLARE @i int SELECT @i = 0 WHILE @i < @numFiles BEGIN EXEC sp_OASetProperty @json, 'I', @i EXEC sp_OAMethod @json, 'StringOf', @sTmp0 OUT, 'files[i].name' PRINT 'name: ' + @sTmp0 EXEC sp_OAMethod @json, 'StringOf', @sTmp0 OUT, 'files[i].id' PRINT 'id: ' + @sTmp0 EXEC sp_OAMethod @json, 'StringOf', @sTmp0 OUT, 'files[i].mimeType' PRINT 'mimeType: ' + @sTmp0 PRINT '-' SELECT @i = @i + 1 END EXEC @hr = sp_OADestroy @gAuth EXEC @hr = sp_OADestroy @rest EXEC @hr = sp_OADestroy @json END GO | ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.