I am trying to run a powershell script on my sharepoint 2013 server which will access our sharepoint online environment using CSOM, but whenever I try I get "error (403) Forbidden" Below is a sample of the code I am running. This same code will work properly when run from my workstation, and also when run from another non-sharepoint server. This makes me think that it must be related to maybe some kind of collision with the existing sharepoint dlls that are loaded on the sharepoint server?
add-type -Path "C:\admintools\spOnlineDLLs\Microsoft.SharePoint.Client.dll" add-type -Path "C:\admintools\spOnlineDLLs\Microsoft.SharePoint.Client.Runtime.dll" $SiteUrl = "https://companyname.sharepoint.com/sites/mySPSite" $ListName = "testList" $UserName = "firstname.lastname@example.org" $SecurePassword = convertto-securestring -string "P@ssw0rd" -AsPlainText -force $ClientContext = New-Object Microsoft.SharePoint.Client.ClientContext($SiteUrl) $credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($UserName, $SecurePassword) $ClientContext.Credentials = $credentials # Get List and List Items $List = $ClientContext.Web.Lists.GetByTitle($ListName) $ListItems = $List.GetItems([Microsoft.SharePoint.Client.CamlQuery]::CreateAllItemsQuery()) $ClientContext.Load($List) $ClientContext.Load($ListItems) $ClientContext.ExecuteQuery()
I get the same error if I replace the two add-type lines with the following:
I can't figure out what the problem is - any suggestions are appreciated. Thanks