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
(DataFlex) SharePoint -- Update the Contents of a File (PUT)Demonstrates how to update the contents of a SharePoint file.
Use ChilkatAx-win32.pkg Procedure Test Handle hoHttp Variant vReq Handle hoReq Boolean iSuccess Boolean iBUseTls Variant vResp Handle hoResp Handle hoJson String sTemp1 Integer iTemp1 Boolean bTemp1 // This requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatHttp)) To hoHttp If (Not(IsComObjectCreated(hoHttp))) Begin Send CreateComObject of hoHttp End // If SharePoint Windows classic authentication is used, then set the // Login, Password, LoginDomain, and NtlmAuth properties. Set ComLogin Of hoHttp To "SHAREPOINT_USERNAME" Set ComPassword Of hoHttp To "SHAREPOINT_PASSWORD" Set ComLoginDomain Of hoHttp To "SHAREPOINT_NTLM_DOMAIN" Set ComNtlmAuth Of hoHttp To True // 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 Set ComAccept Of hoHttp To "application/json;odata=verbose" // Update /Documents/ChilkatTest/sample.docx with new content... Get Create (RefClass(cComChilkatHttpRequest)) To hoReq If (Not(IsComObjectCreated(hoReq))) Begin Send CreateComObject of hoReq End Set ComHttpVerb Of hoReq To "POST" Set ComPath Of hoReq To "/_api/web/GetFileByServerRelativeUrl('/Documents/ChilkatTest/sample.docx')/$value" // Give the location of the file to be uploaded. // Note: The file is not loaded into memory at this point. It is never fully loaded // into memory. Instead, the file data is streamed directly from the file when // when the upload occurs. Get ComStreamBodyFromFile Of hoReq "qa_data/msword/sample.docx" To iSuccess // 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 Send ComAddHeader To hoReq "X-RequestDigest" "SHAREPOINT_FORM_DIGEST" // Also need to add this header.. Send ComAddHeader To hoReq "X-HTTP-Method" "PUT" // Upload.. Move True To iBUseTls Get pvComObject of hoReq to vReq Get ComSynchronousRequest Of hoHttp "SHAREPOINT_HTTPS_DOMAIN" 443 iBUseTls vReq To vResp If (IsComObject(vResp)) Begin Get Create (RefClass(cComChilkatHttpResponse)) To hoResp Set pvComObject Of hoResp To vResp End Get ComLastMethodSuccess Of hoHttp To bTemp1 If (bTemp1 <> True) Begin Get ComLastErrorText Of hoHttp To sTemp1 Showln sTemp1 Procedure_Return End // A successful update will return a 204 status code with an empty body. // A non-successful update will return a JSON response body.. Get ComStatusCode Of hoResp To iTemp1 If (iTemp1 <> 204) Begin Get ComStatusCode Of hoResp To iTemp1 Showln "Response status code = " iTemp1 Get Create (RefClass(cComChilkatJsonObject)) To hoJson If (Not(IsComObjectCreated(hoJson))) Begin Send CreateComObject of hoJson End Get ComBodyStr Of hoResp To sTemp1 Get ComLoad Of hoJson sTemp1 To iSuccess Set ComEmitCompact Of hoJson To False Get ComEmit Of hoJson To sTemp1 Showln sTemp1 Showln "Failed" Send Destroy of hoResp Procedure_Return End Send Destroy of hoResp Showln "Success." End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.