|  | 
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) SharePoint -- Approve a File Submitted for Content ApprovalApproves the file submitted for content approval with the specified comment. Note: The SharePoint list or library should have the settings enabled to require approval for submitted items. This is done in the "Versioning Settings" for the list or library. Note: This example requires Chilkat v11.0.0 or greater. 
 -- 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 = 0 -- This requires the Chilkat API to have been previously unlocked. -- See Global Unlock Sample for sample code. DECLARE @http int EXEC @hr = sp_OACreate 'Chilkat.Http', @http OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END -- If SharePoint Windows classic authentication is used, then set the -- Login, Password, LoginDomain, and NtlmAuth properties. EXEC sp_OASetProperty @http, 'Login', 'SHAREPOINT_USERNAME' EXEC sp_OASetProperty @http, 'Password', 'SHAREPOINT_PASSWORD' EXEC sp_OASetProperty @http, 'LoginDomain', 'SHAREPOINT_NTLM_DOMAIN' EXEC sp_OASetProperty @http, 'NtlmAuth', 1 -- The more common case is to use SharePoint Online authentication (via the SPOIDCRL cookie). -- If so, do not set Login, Password, LoginDomain, and NtlmAuth, and instead -- establish the cookie as shown at SharePoint Online Authentication -- Indicate that we want a JSON reply EXEC sp_OASetProperty @http, 'Accept', 'application/json;odata=verbose' -- Only persons who have Full Control or Design permissions can approve or reject -- items or files in a list or library that requires approval. Other site users -- can only view what they have permission to view or what they have uploaded -- themselves. -- -- Important: Approval or rejection of items or files in lists or libraries must -- be done one at a time. You cannot approve or reject multiple items or files in -- one operation. -- DECLARE @req int EXEC @hr = sp_OACreate 'Chilkat.HttpRequest', @req OUT EXEC sp_OASetProperty @req, 'HttpVerb', 'POST' EXEC sp_OASetProperty @req, 'Path', '/_api/web/GetFileByServerRelativeUrl(''/ChilkatDocLibrary/sample.docx'')/approve(comment=''Check-in comment for the approval.'')' -- We need to add a form digest value in the X-RequestDigest header field. -- See this example for details on -- how to get (and cache) a form digest value EXEC sp_OAMethod @req, 'AddHeader', NULL, 'X-RequestDigest', 'SHAREPOINT_FORM_DIGEST' -- Send the request to approve the document. DECLARE @bUseTls int SELECT @bUseTls = 1 DECLARE @resp int EXEC @hr = sp_OACreate 'Chilkat.HttpResponse', @resp OUT EXEC sp_OAMethod @http, 'HttpSReq', @success OUT, 'SHAREPOINT_HTTPS_DOMAIN', 443, @bUseTls, @req, @resp IF @success = 0 BEGIN EXEC sp_OAGetProperty @http, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @req EXEC @hr = sp_OADestroy @resp RETURN END -- A successful update will return a 200 status code with an empty body. -- A non-successful update will return a JSON response body.. EXEC sp_OAGetProperty @resp, 'StatusCode', @iTmp0 OUT IF @iTmp0 <> 200 BEGIN EXEC sp_OAGetProperty @resp, 'StatusCode', @iTmp0 OUT PRINT 'Response status code = ' + @iTmp0 DECLARE @json int EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @json OUT EXEC sp_OAGetProperty @resp, 'BodyStr', @sTmp0 OUT EXEC sp_OAMethod @json, 'Load', @success OUT, @sTmp0 EXEC sp_OASetProperty @json, 'EmitCompact', 0 EXEC sp_OAMethod @json, 'Emit', @sTmp0 OUT PRINT @sTmp0 PRINT 'Failed' EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @req EXEC @hr = sp_OADestroy @resp EXEC @hr = sp_OADestroy @json RETURN END PRINT 'Success.' EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @req EXEC @hr = sp_OADestroy @resp EXEC @hr = sp_OADestroy @json END GO | ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.