[英]Upload a file to Sharepoint online using REST API in JAVA
[英]file contents of different versions in Sharepoint Online not getting downloaded using REST Call
我正在嘗試使用Java中的REST API下載文件的主要版本和次要版本。 我只能下載特定文件的最新版本,當我嘗試下載文件的其他版本時,出現500 Internal Server Error。
用於獲取文件版本的URL會正確返回文件的所有版本。 當我嘗試獲取不同版本的內容時,出現500 Internal Server Error。
我用來獲取文件的不同版本的URL是
“ _api / Web / GetFileByServerRelativeUrl('%s')/ Versions ”。
我用來獲取文件內容的URL是
“ _api / web / GetFileByServerRelativeUrl('%s')/ $ value ”。
文件最新版本的URL語法為
“ https:// tenant_name .sharepoint.com / folder_name / file_name ”。
文件版本的URL語法為
“ https:// tenant_name .sharepoint.com / _vti_history / version_id / folder_name / file_name ”。
文件版本的后一種語法(即URL語法)是否存在問題?
有人請幫幫我。
似乎不支持在端點/_api/web/GetFileByServerRelativeUrl
為文件版本指定url,因為它不包括實際文件的服務器相對url。
由於提供的文件版本網址沒有任何問題,您可以考慮采用其他方法下載它。 與其使用REST端點獲取文件內容/_api/web/GetFileByServerRelativeUrl('%s')/$value
,不如考慮使用絕對 URL下載文件,如以下示例所示:
C#示例
using (var client = new HttpClient())
{
var targetPath = @"c:\downloads";
var sourceFileUrl = String.Format("{0}/_vti_history/512/Documents/SharePoint User Guide.docx",webUri);
var response = client.GetAsync(sourceFileUrl).Result;
var targetFileName = targetPath + System.IO.Path.GetFileName(sourceFileUrl);
System.IO.File.WriteAllBytes(targetFileName, response.Content.ReadAsByteArrayAsync().Result);
}
網址應為:
https://sharepoint-site.com/sites/Subsite/_vti_history/version_id/Documents/SharePoint User Guide.docx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.