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
(Visual FoxPro) SharePoint -- Get File PropertySee more SharePoint ExamplesDemonstrates how to get a specific property of a SharePoint file. Any of the following properties can be retrieved:
LOCAL loHttp LOCAL lcUrl LOCAL lcJsonReply LOCAL loJson LOCAL lnNumVersions LOCAL i * This requires the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Http') loHttp = CreateObject('Chilkat.Http') * If SharePoint Windows classic authentication is used, then set the * Login, Password, LoginDomain, and NtlmAuth properties. loHttp.Login = "SHAREPOINT_USERNAME" loHttp.Password = "SHAREPOINT_PASSWORD" loHttp.LoginDomain = "SHAREPOINT_NTLM_DOMAIN" loHttp.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 loHttp.Accept = "application/json;odata=verbose" loHttp.AcceptCharset = "utf-8" * Get the Author property. lcUrl = "https://SHAREPOINT_HTTPS_DOMAIN/_api/web/GetFileByServerRelativeUrl('/Documents/VCAC-document.docx')/Author" lcJsonReply = loHttp.QuickGetStr(lcUrl) IF (loHttp.LastMethodSuccess <> 1) THEN ? loHttp.LastErrorText RELEASE loHttp CANCEL ENDIF * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJson = CreateObject('Chilkat.JsonObject') loJson.Load(lcJsonReply) loJson.EmitCompact = 0 * 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 (loHttp.LastStatus <> 200) THEN ? loJson.Emit() ? "Failed." RELEASE loHttp RELEASE loJson CANCEL ENDIF ? loJson.Emit() * The Author property returns JSON looking like this: * { * "d": { * "__metadata": { * "id": "Web/GetUserById(18)", * "uri": "https://SHAREPOINT_HTTPS_DOMAIN/_api/Web/GetUserById(18)", * "type": "SP.User" * }, * "Groups": { * "__deferred": { * "uri": "https://SHAREPOINT_HTTPS_DOMAIN/_api/Web/GetUserById(18)/Groups" * } * }, * "Id": 18, * "IsHiddenInUI": false, * "LoginName": "i:0#.w|mydomain\\msmith", * "Title": "Mike Smith", * "PrincipalType": 1, * "Email": "msmith@mydomain.com", * "IsSiteAdmin": false, * "UserId": { * "__metadata": { * "type": "SP.UserIdInfo" * }, * "NameId": "s-1-5-21-3433503314-2897774614-343593928-1137", * "NameIdIssuer": "urn:office:idp:activedirectory" * } * } * } * * Get the Title and Email: ? "----" ? "Title: " + loJson.StringOf("d.Title") ? "Email: " + loJson.StringOf("d.Email") ? "----" * -------------------------------------------------------------------- * Get the Versions property. lcUrl = "https://SHAREPOINT_HTTPS_DOMAIN/_api/web/GetFileByServerRelativeUrl('/Documents/VCAC-document.docx')/Versions" lcJsonReply = loHttp.QuickGetStr(lcUrl) IF (loHttp.LastMethodSuccess <> 1) THEN ? loHttp.LastErrorText RELEASE loHttp RELEASE loJson CANCEL ENDIF loJson.Load(lcJsonReply) ? loJson.Emit() * The Versions JSON reply looks like this: * { * "d": { * "results": [ * { * "__metadata": { * "id": "a8d025e2-8255-4487-9edb-9e796ab2889c", * "type": "SP.FileVersion" * }, * "CreatedBy": { * "__deferred": { * "uri": "https://SHAREPOINT_HTTPS_DOMAIN/_api/CreatedBy" * } * }, * "CheckInComment": "", * "Created": "2016-03-15T02:22:26Z", * "ID": 1, * "IsCurrentVersion": false, * "Size": 21082, * "Url": "_vti_history/1/Documents/VCAC-document.docx", * "VersionLabel": "0.1" * }, * { * "__metadata": { * "id": "8ab3eadd-9126-4f65-a2a3-3b0689c592d6", * "type": "SP.FileVersion" * }, * "CreatedBy": { * "__deferred": { * "uri": "https://SHAREPOINT_HTTPS_DOMAIN/_api/CreatedBy" * } * }, * "CheckInComment": "", * "Created": "2016-03-15T05:28:24Z", * "ID": 2, * "IsCurrentVersion": false, * "Size": 21082, * "Url": "_vti_history/2/Documents/VCAC-document.docx", * "VersionLabel": "0.2" * } * ] * } * } * * Get each VersionLabel, Size, and Url... lnNumVersions = loJson.SizeOfArray("d.results") i = 0 DO WHILE i < lnNumVersions loJson.I = i ? "---- i = " + STR(i) ? "VersionLabel: " + loJson.StringOf("d.results[i].VersionLabel") ? "Url: " + loJson.StringOf("d.results[i].Url") ? "Size: " + STR(loJson.IntOf("d.results[i].Size")) i = i + 1 ENDDO * The output is: * ---- i = 0 * VersionLabel: 0.1 * Url: _vti_history/1/Documents/VCAC-document.docx * Size: 21082 * ---- i = 1 * VersionLabel: 0.2 * Url: _vti_history/2/Documents/VCAC-document.docx * Size: 21082 RELEASE loHttp RELEASE loJson |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.