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
(AutoIt) SharePoint -- Get File Metadata (File Size, Last-Modified Date/Time, etc.)See more SharePoint ExamplesDemonstrates how to get a file's metdata, which includes the file size, last-modified date/time, name, server relative URL, etc.
; This requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. $oHttp = ObjCreate("Chilkat.Http") ; If SharePoint Windows classic authentication is used, then set the ; Login, Password, LoginDomain, and NtlmAuth properties. $oHttp.Login = "SHAREPOINT_USERNAME" $oHttp.Password = "SHAREPOINT_PASSWORD" $oHttp.LoginDomain = "SHAREPOINT_NTLM_DOMAIN" $oHttp.NtlmAuth = 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 $oHttp.Accept = "application/json;odata=verbose" $oHttp.AcceptCharset = "utf-8" Local $sUrl = "https://SHAREPOINT_HTTPS_DOMAIN/_api/web/GetFileByServerRelativeUrl('/Documents/VCAC-document.docx')" Local $sJsonReply = $oHttp.QuickGetStr($sUrl) If ($oHttp.LastMethodSuccess <> True) Then ConsoleWrite($oHttp.LastErrorText & @CRLF) Exit EndIf ; Examine the file's metadata in JSON format. $oJson = ObjCreate("Chilkat.JsonObject") $oJson.Load($sJsonReply) $oJson.EmitCompact = False ; Make sure it was a success response, and that we really have metadata. ; If it was an error response, then the JSON is error information.. If ($oHttp.LastStatus <> 200) Then ConsoleWrite($oJson.Emit() & @CRLF) ConsoleWrite("Failed." & @CRLF) Exit EndIf ConsoleWrite($oJson.Emit() & @CRLF) ConsoleWrite("--------" & @CRLF) ConsoleWrite("Server relative URL: " & $oJson.StringOf("d.ServerRelativeUrl") & @CRLF) Local $iFileSize = $oJson.IntOf("d.Length") ConsoleWrite("File Size = " & $iFileSize & @CRLF) $oLastmod = ObjCreate("Chilkat.CkDateTime") $oLastmod.SetFromTimestamp($oJson.StringOf("d.TimeLastModified")) ; Once we have the CkDateTime object, we can get the date/time in all sorts of formats: ; Get as a RFC822 GMT string: Local $bLocalTime = False ConsoleWrite($oLastmod.GetAsRfc822($bLocalTime) & @CRLF) ; Get as an RFC822 string in the local timezone. ; (remember, the daylight savings that existed at the given time in the past is applied) $bLocalTime = True ConsoleWrite($oLastmod.GetAsRfc822($bLocalTime) & @CRLF) ; Get as a 32-bit UNIX time (local or GMT..) ; The Unix time is number of seconds since the Epoch, 1970-01-01 00:00:00 +0000 (UTC). Local $iUnixTime = $oLastmod.GetAsUnixTime($bLocalTime) ConsoleWrite("Unix time: " & $iUnixTime & @CRLF) ; One can also get the as a "DtObj" object for accessing the individual ; parts of the date/time, such as month, day, year, hour, minute, etc. ; The DtObj can be obtained in the GMT or local timezone: Local $oDtObj = $oLastmod.GetDtObj($bLocalTime) If ($oLastmod.LastMethodSuccess = False) Then ConsoleWrite("This should never really happen!" & @CRLF) Exit EndIf ConsoleWrite($oDtObj.Day & "-" & $oDtObj.Month & "-" & $oDtObj.Year & " " & $oDtObj.Hour & ":" & $oDtObj.Minute _ & ":" & $oDtObj.Second & @CRLF) ; ------------------------------------------------- ; The file's metadata look like this: ; { ; "d": { ; "__metadata": { ; "id": "Web/GetFileByServerRelativeUrl('/Documents/VCAC-document.docx')", ; "uri": "https://SHAREPOINT_HTTPS_DOMAIN/_api/Web/GetFileByServerRelativeUrl('/Documents/VCAC-document.docx')", ; "type": "SP.File" ; }, ; "Author": { ; "__deferred": { ; "uri": "https://SHAREPOINT_HTTPS_DOMAIN/_api/Web/GetFileByServerRelativeUrl('/Documents/VCAC-document.docx')/Author" ; } ; }, ; "CheckedOutByUser": { ; "__deferred": { ; "uri": "https://SHAREPOINT_HTTPS_DOMAIN/_api/Web/GetFileByServerRelativeUrl('/Documents/VCAC-document.docx')/CheckedOutByUser" ; } ; }, ; "ListItemAllFields": { ; "__deferred": { ; "uri": "https://SHAREPOINT_HTTPS_DOMAIN/_api/Web/GetFileByServerRelativeUrl('/Documents/VCAC-document.docx')/ListItemAllFields" ; } ; }, ; "LockedByUser": { ; "__deferred": { ; "uri": "https://SHAREPOINT_HTTPS_DOMAIN/_api/Web/GetFileByServerRelativeUrl('/Documents/VCAC-document.docx')/LockedByUser" ; } ; }, ; "ModifiedBy": { ; "__deferred": { ; "uri": "https://SHAREPOINT_HTTPS_DOMAIN/_api/Web/GetFileByServerRelativeUrl('/Documents/VCAC-document.docx')/ModifiedBy" ; } ; }, ; "Versions": { ; "__deferred": { ; "uri": "https://SHAREPOINT_HTTPS_DOMAIN/_api/Web/GetFileByServerRelativeUrl('/Documents/VCAC-document.docx')/Versions" ; } ; }, ; "CheckInComment": "", ; "CheckOutType": 2, ; "ContentTag": "{E2F05E75-B3EF-4826-8284-E572D3628A7D},9,10", ; "CustomizedPageStatus": 0, ; "ETag": "\"{E2F05E75-B3EF-4826-8284-E572D3628A7D},9\"", ; "Exists": true, ; "Length": "21082", ; "Level": 2, ; "MajorVersion": 0, ; "MinorVersion": 3, ; "Name": "VCAC-document.docx", ; "ServerRelativeUrl": "/Documents/VCAC-document.docx", ; "TimeCreated": "2016-03-04T12:38:01Z", ; "TimeLastModified": "2017-01-16T04:44:31Z", ; "Title": "", ; "UIVersion": 3, ; "UIVersionLabel": "0.3" ; } ; } ; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.