AutoIt
AutoIt
SharePoint -- Get File Metadata (File Size, Last-Modified Date/Time, etc.)
See more SharePoint Examples
Demonstrates how to get a file's metdata, which includes the file size, last-modified date/time, name, server relative URL, etc.Chilkat AutoIt Downloads
Local $bSuccess = False
; 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 = False) 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:
$oDtObj = ObjCreate("Chilkat.DtObj")
$oLastmod.ToDtObj $bLocalTime,$oDtObj
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"
; }
; }
;