Creates a new permission for a file. (In this example the permission is created for the file with id = 1BXNQ4sMDD1WibOtcYqgQlwJa0MAa6rTQ)
CREATE PROCEDURE ChilkatSample
AS
BEGIN
DECLARE @hr int
DECLARE @iTmp0 int
DECLARE @sTmp0 nvarchar(4000)
DECLARE @rest int
EXEC @hr = sp_OACreate 'Chilkat_9_5_0.Rest', @rest OUT
IF @hr <> 0
BEGIN
PRINT 'Failed to create ActiveX component'
RETURN
END
DECLARE @success int
-- Provide a previously obtained OAuth2 access token.
DECLARE @oauth2 int
EXEC @hr = sp_OACreate 'Chilkat_9_5_0.OAuth2', @oauth2 OUT
EXEC sp_OASetProperty @oauth2, 'AccessToken', 'OAUTH2_ACCESS_TOKEN'
EXEC sp_OAMethod @rest, 'SetAuthOAuth2', @success OUT, STR(@oauth2)
EXEC sp_OAMethod @rest, 'Connect', @success OUT, 'www.googleapis.com', 443, 1, 1
IF STR(@success) <> 1
BEGIN
EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @rest
EXEC @hr = sp_OADestroy @oauth2
RETURN
END
EXEC sp_OAMethod @rest, 'AddQueryParam', @success OUT, 'includeTeamDriveItems', 'true'
EXEC sp_OAMethod @rest, 'AddQueryParam', @success OUT, 'supportsTeamDrives', 'true'
-- The following code creates the JSON request body.
-- The JSON created by this code is shown below.
DECLARE @jsonReq int
EXEC @hr = sp_OACreate 'Chilkat_9_5_0.JsonObject', @jsonReq OUT
EXEC sp_OAMethod @jsonReq, 'UpdateString', @success OUT, 'role', 'reader'
EXEC sp_OAMethod @jsonReq, 'UpdateString', @success OUT, 'type', 'anyone'
DECLARE @sbReq int
EXEC @hr = sp_OACreate 'Chilkat_9_5_0.StringBuilder', @sbReq OUT
EXEC sp_OAMethod @jsonReq, 'EmitSb', @success OUT, STR(@sbReq)
EXEC sp_OAMethod @rest, 'AddHeader', @success OUT, 'Content-Type', 'application/json'
DECLARE @sbJson int
EXEC @hr = sp_OACreate 'Chilkat_9_5_0.StringBuilder', @sbJson OUT
EXEC sp_OAMethod @rest, 'FullRequestSb', @success OUT, 'POST', '/drive/v3/files/1BXNQ4sMDD1WibOtcYqgQlwJa0MAa6rTQ/permissions', STR(@sbReq), STR(@sbJson)
IF STR(@success) <> 1
BEGIN
EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @rest
EXEC @hr = sp_OADestroy @oauth2
EXEC @hr = sp_OADestroy @jsonReq
EXEC @hr = sp_OADestroy @sbReq
EXEC @hr = sp_OADestroy @sbJson
RETURN
END
EXEC sp_OAGetProperty @rest, 'ResponseStatusCode', @iTmp0 OUT
IF @iTmp0 <> 200
BEGIN
EXEC sp_OAGetProperty @rest, 'ResponseStatusCode', @iTmp0 OUT
PRINT 'Received error response code: ' + @iTmp0
PRINT 'Response body:'
EXEC sp_OAMethod @sbJson, 'GetAsString', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @rest
EXEC @hr = sp_OADestroy @oauth2
EXEC @hr = sp_OADestroy @jsonReq
EXEC @hr = sp_OADestroy @sbReq
EXEC @hr = sp_OADestroy @sbJson
RETURN
END
DECLARE @json int
EXEC @hr = sp_OACreate 'Chilkat_9_5_0.JsonObject', @json OUT
EXEC sp_OAMethod @json, 'LoadSb', @success OUT, STR(@sbJson)
-- The following code parses the JSON response.
-- A sample JSON response is shown below the sample code.
DECLARE @kind nvarchar(4000)
DECLARE @id nvarchar(4000)
DECLARE @type nvarchar(4000)
DECLARE @role nvarchar(4000)
DECLARE @allowFileDiscovery int
EXEC sp_OAMethod @json, 'StringOf', @kind OUT, 'kind'
EXEC sp_OAMethod @json, 'StringOf', @id OUT, 'id'
EXEC sp_OAMethod @json, 'StringOf', @type OUT, 'type'
EXEC sp_OAMethod @json, 'StringOf', @role OUT, 'role'
EXEC sp_OAMethod @json, 'BoolOf', @allowFileDiscovery OUT, 'allowFileDiscovery'
PRINT 'Example Completed.'
EXEC @hr = sp_OADestroy @rest
EXEC @hr = sp_OADestroy @oauth2
EXEC @hr = sp_OADestroy @jsonReq
EXEC @hr = sp_OADestroy @sbReq
EXEC @hr = sp_OADestroy @sbJson
EXEC @hr = sp_OADestroy @json
END
GO
{
"role": "reader",
"type": "anyone"
}
{
"kind": "drive#permission",
"id": "anyoneWithLink",
"type": "anyone",
"role": "reader",
"allowFileDiscovery": false
}