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
(Ruby) 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:
require 'chilkat' # This requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. http = Chilkat::CkHttp.new() # If SharePoint Windows classic authentication is used, then set the # Login, Password, LoginDomain, and NtlmAuth properties. http.put_Login("SHAREPOINT_USERNAME") http.put_Password("SHAREPOINT_PASSWORD") http.put_LoginDomain("SHAREPOINT_NTLM_DOMAIN") http.put_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 http.put_Accept("application/json;odata=verbose") http.put_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.get_LastMethodSuccess() != true) print http.lastErrorText() + "\n"; exit end json = Chilkat::CkJsonObject.new() json.Load(jsonReply) json.put_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 (http.get_LastStatus() != 200) print json.emit() + "\n"; print "Failed." + "\n"; exit end print json.emit() + "\n"; # 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: print "----" + "\n"; print "Title: " + json.stringOf("d.Title") + "\n"; print "Email: " + json.stringOf("d.Email") + "\n"; print "----" + "\n"; # -------------------------------------------------------------------- # Get the Versions property. url = "https://SHAREPOINT_HTTPS_DOMAIN/_api/web/GetFileByServerRelativeUrl('/Documents/VCAC-document.docx')/Versions" jsonReply = http.quickGetStr(url) if (http.get_LastMethodSuccess() != true) print http.lastErrorText() + "\n"; exit end json.Load(jsonReply) print json.emit() + "\n"; # 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 while i < numVersions json.put_I(i) print "---- i = " + i.to_s() + "\n"; print "VersionLabel: " + json.stringOf("d.results[i].VersionLabel") + "\n"; print "Url: " + json.stringOf("d.results[i].Url") + "\n"; print "Size: " + json.IntOf("d.results[i].Size").to_s() + "\n"; i = i + 1 end # 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 |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.