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
(VBScript) 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:
Dim fso, outFile Set fso = CreateObject("Scripting.FileSystemObject") 'Create a Unicode (utf-16) output text file. Set outFile = fso.CreateTextFile("output.txt", True, True) ' 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") set http = CreateObject("Chilkat.Http") ' If SharePoint Windows classic authentication is used, then set the ' Login, Password, LoginDomain, and NtlmAuth properties. http.Login = "SHAREPOINT_USERNAME" http.Password = "SHAREPOINT_PASSWORD" http.LoginDomain = "SHAREPOINT_NTLM_DOMAIN" http.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 http.Accept = "application/json;odata=verbose" http.AcceptCharset = "utf-8" ' Get the Author property. url = "https://SHAREPOINT_HTTPS_DOMAIN/_api/web/GetFileByServerRelativeUrl('/Documents/VCAC-document.docx')/Author" jsonReply = http.QuickGetStr(url) If (http.LastMethodSuccess <> 1) Then outFile.WriteLine(http.LastErrorText) WScript.Quit End If ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.JsonObject") set json = CreateObject("Chilkat.JsonObject") success = json.Load(jsonReply) json.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 (http.LastStatus <> 200) Then outFile.WriteLine(json.Emit()) outFile.WriteLine("Failed.") WScript.Quit End If outFile.WriteLine(json.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: outFile.WriteLine("----") outFile.WriteLine("Title: " & json.StringOf("d.Title")) outFile.WriteLine("Email: " & json.StringOf("d.Email")) outFile.WriteLine("----") ' -------------------------------------------------------------------- ' Get the Versions property. url = "https://SHAREPOINT_HTTPS_DOMAIN/_api/web/GetFileByServerRelativeUrl('/Documents/VCAC-document.docx')/Versions" jsonReply = http.QuickGetStr(url) If (http.LastMethodSuccess <> 1) Then outFile.WriteLine(http.LastErrorText) WScript.Quit End If success = json.Load(jsonReply) outFile.WriteLine(json.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... numVersions = json.SizeOfArray("d.results") i = 0 Do While i < numVersions json.I = i outFile.WriteLine("---- i = " & i) outFile.WriteLine("VersionLabel: " & json.StringOf("d.results[i].VersionLabel")) outFile.WriteLine("Url: " & json.StringOf("d.results[i].Url")) outFile.WriteLine("Size: " & json.IntOf("d.results[i].Size")) i = i + 1 Loop ' 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 outFile.Close |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.