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 -- 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.
Use ChilkatAx-win32.pkg Procedure Test Handle hoHttp String sUrl String sJsonReply Handle hoJson Boolean iSuccess Integer iFileSize Handle hoLastmod Boolean iBLocalTime Integer iUnixTime Variant vDtObj Handle hoDtObj String sTemp1 Integer iTemp1 Integer iTemp2 Integer iTemp3 Integer iTemp4 Integer iTemp5 Integer iTemp6 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" Set ComAcceptCharset Of hoHttp To "utf-8" Move "https://SHAREPOINT_HTTPS_DOMAIN/_api/web/GetFileByServerRelativeUrl('/Documents/VCAC-document.docx')" To sUrl Get ComQuickGetStr Of hoHttp sUrl To sJsonReply Get ComLastMethodSuccess Of hoHttp To bTemp1 If (bTemp1 <> True) Begin Get ComLastErrorText Of hoHttp To sTemp1 Showln sTemp1 Procedure_Return End // Examine the file's metadata in JSON format. Get Create (RefClass(cComChilkatJsonObject)) To hoJson If (Not(IsComObjectCreated(hoJson))) Begin Send CreateComObject of hoJson End Get ComLoad Of hoJson sJsonReply To iSuccess Set ComEmitCompact Of hoJson To 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.. Get ComLastStatus Of hoHttp To iTemp1 If (iTemp1 <> 200) Begin Get ComEmit Of hoJson To sTemp1 Showln sTemp1 Showln "Failed." Procedure_Return End Get ComEmit Of hoJson To sTemp1 Showln sTemp1 Showln "--------" Get ComStringOf Of hoJson "d.ServerRelativeUrl" To sTemp1 Showln "Server relative URL: " sTemp1 Get ComIntOf Of hoJson "d.Length" To iFileSize Showln "File Size = " iFileSize Get Create (RefClass(cComCkDateTime)) To hoLastmod If (Not(IsComObjectCreated(hoLastmod))) Begin Send CreateComObject of hoLastmod End Get ComStringOf Of hoJson "d.TimeLastModified" To sTemp1 Get ComSetFromTimestamp Of hoLastmod sTemp1 To iSuccess // Once we have the CkDateTime object, we can get the date/time in all sorts of formats: // Get as a RFC822 GMT string: Move False To iBLocalTime Get ComGetAsRfc822 Of hoLastmod iBLocalTime To sTemp1 Showln sTemp1 // Get as an RFC822 string in the local timezone. // (remember, the daylight savings that existed at the given time in the past is applied) Move True To iBLocalTime Get ComGetAsRfc822 Of hoLastmod iBLocalTime To sTemp1 Showln sTemp1 // 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). Get ComGetAsUnixTime Of hoLastmod iBLocalTime To iUnixTime Showln "Unix time: " iUnixTime // 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: Get ComGetDtObj Of hoLastmod iBLocalTime To vDtObj If (IsComObject(vDtObj)) Begin Get Create (RefClass(cComChilkatDtObj)) To hoDtObj Set pvComObject Of hoDtObj To vDtObj End Get ComLastMethodSuccess Of hoLastmod To bTemp1 If (bTemp1 = False) Begin Showln "This should never really happen!" Procedure_Return End Get ComDay Of hoDtObj To iTemp1 Get ComMonth Of hoDtObj To iTemp2 Get ComYear Of hoDtObj To iTemp3 Get ComHour Of hoDtObj To iTemp4 Get ComMinute Of hoDtObj To iTemp5 Get ComSecond Of hoDtObj To iTemp6 Showln iTemp1 "-" iTemp2 "-" iTemp3 " " iTemp4 ":" iTemp5 ":" iTemp6 Send Destroy of hoDtObj // ------------------------------------------------- // 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" // } // } // End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.