As I cannot use Pnp.PowerShell with a SharePoint-2019 on premise, AFAIK, I’ve been trying to do it with OData using curl. Unfortunately it happens to be much more complicated than I thought.
I ended up building this command:
curl -vvv -n -X POST "https://sharepoint.site/site/aaa/_api/web/GetFolderByServerRelativeUrl('/site/aaa/library/folder')/Files/add" -T a.xlsx -H "Accept: application/json;odata=nometadata" -H "X-RequestDigest: xxxxxx"
HTTP/1.1 400 Bad Request
or
curl -vvv -n -X POST "https://sharepoint.site/site/aaa/_api/web/GetFolderByServerRelativeUrl('/site/aaa/library/folder')/Files/add(url=a.xlsx,overwrite=true)" -T a.xlsx -H "Accept: application/json;odata=nometadata" -H "X-RequestDigest: xxxxxx"
HTTP/1.1 403 FORBIDDEN
{"odata.error":{"code":"-2130575252, System.Runtime.InteropServices.COMException","message":{"lang":"fr-FR","value":"La validation de la sécurité de cette page a expiré. Cliquez sur Précédente dans votre navigateur web, actualisez la page et retentez l’opération."}}}* Connection #0 to host sharepoint.site left intact
I found this PowerShell function: Upload-FileToShp, but I cannot make it work in my case, so doesn’t help for having a correct curl
or Invoke-RestMethod
!
WHat’s missing?