ファイルCheckOut()Sharepoint

私はファイルをチェックしようとしていますが、私は理解できない奇妙な例外が発生しています。

ServerExeptionは手に入らなかった serverRelativeUrl パラメータ名:指定された値はserverRelativeUrlパラメータでサポートされていません。

あなたは何を意味するのか、私が間違っていることを説明してください。

public void CheckOut(string filePath)
{

   Microsoft.SharePoint.Client.ClientContext context = new     
   Microsoft.SharePoint.Client.ClientContext("http://sharepointsite");
        context.Credentials = CredentialCache.DefaultNetworkCredentials;

   Microsoft.SharePoint.Client.Web web = context.Web;
   Microsoft.SharePoint.Client.File file = web.GetFileByServerRelativeUrl(filePath);

   file.CheckOut();
   context.Load(web);
   context.Load(file);
   context.ExecuteQuery();
}
0
あなたのfilePathはスラッシュ記号(/)で始まっていますか? REST APIを使用しているときに同じエラーが発生していることがわかりました。ファイル名の冒頭に/が見つかりませんでした。
追加された 著者 Vladimir Obrizan,

1 答え

ファイルのサーバー相対URLをパラメーターとして渡します。

Uri uri = new Uri(filePath);
Microsoft.SharePoint.Client.File file = 
    web.GetFileByServerRelativeUrl(uri.LocalPath);
context.Load(file)
context.ExecuteQuery();

if (file.CheckOutType == CheckOutType.None)
{
   file.CheckOut();
}
1
追加された
unfortunatelly、まだ同じ問題を助けることはありません。 :(
追加された 著者 Wild Goat,
Modelオブジェクトの代わりにWebサービスを使用している場合はうまく動作します。しかし、私は本当にDLLを使用したいと思うのです。
追加された 著者 Wild Goat,
はい、私は両方の方法を試していました。しかし、同じ例外が発生します。例外はcontext.ExecuteQuery();で発生します。ライン
追加された 著者 Wild Goat,
CheckOutの前にLoad(ファイル)とExecuteQuery()を実行しましたか?
追加された 著者 Alexandru Deliu,
パラメータのフォーマットを確認してください。例:Microsoft.SharePoint.Client.File file = web.GetFileByServerRelativeUrl( "/ Site/DocLibrary/wiki.xml"); URLはSharePointサーバーの下にある必要があります。 sharepointsite
追加された 著者 Alexandru Deliu,