Visual FoxPro
Visual FoxPro
SharePoint -- Check Out a File (or Undo a Checkout)
In SharePoint, you can check out a file to make sure nobody can change it before you update it. After updating, you can check in the file. This example shows how to check out a SharePoint file.Note: To undo a checkout, replace the string "checkout" with "undocheckout" in the line of code that sets the request's path.
Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loHttp
LOCAL loReq
LOCAL lnBUseTls
LOCAL loResp
LOCAL loXml
lnSuccess = 0
* This requires the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.
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
* 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
* This example will check out the file named "penguins2.jpg"
* which is located in the "/Documents" folder.
loReq = CreateObject('Chilkat.HttpRequest')
loReq.HttpVerb = "POST"
* Note that our path uses GetFileByServerRelativeUrl and not GetFolderByServerRelativeUrl
* Also, if your Sharepoint site is within a site collection, the URL is formatted like this (where "teamA" is the name of the site)
* /sites/teamA/_api/web/GetFileByServerRelativeUrl('/sites/teamA/Documents/penguins2.jpg')/checkout
* Note: To undo a checkout, replace "checkout" with "undocheckout" in the following line of code.
loReq.Path = "/_api/web/GetFileByServerRelativeUrl('/Documents/penguins2.jpg')/checkout"
* We need to add a form digest value in the X-RequestDigest header field.
* See this example for details on
* how to get (and cache) a form digest value
loReq.AddHeader("X-RequestDigest","SHAREPOINT_FORM_DIGEST")
* Send the POST using HTTPS (TLS). Port 443 is the default port for https.
lnBUseTls = 1
loResp = CreateObject('Chilkat.HttpResponse')
lnSuccess = loHttp.HttpSReq("SHAREPOINT_HTTPS_DOMAIN",443,lnBUseTls,loReq,loResp)
IF (lnSuccess = 0) THEN
? loHttp.LastErrorText
RELEASE loHttp
RELEASE loReq
RELEASE loResp
CANCEL
ENDIF
* The response body contains XML.
loXml = CreateObject('Chilkat.Xml')
loXml.LoadXml(loResp.BodyStr)
IF (loResp.StatusCode <> 200) THEN
? "Response status code = " + STR(loResp.StatusCode)
? loXml.GetXml()
? "Failed"
RELEASE loHttp
RELEASE loReq
RELEASE loResp
RELEASE loXml
CANCEL
ENDIF
* Show the successful XML response.
? loXml.GetXml()
? "Success."
* A successful XML response looks like this:
* <?xml version="1.0" encoding="utf-8" ?>
* <d:CheckOut xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"
* xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
* xmlns:georss="http://www.georss.org/georss"
* xmlns:gml="http://www.opengis.net/gml" m:null="true" />
*
*
RELEASE loHttp
RELEASE loReq
RELEASE loResp
RELEASE loXml