1
SharePointサイトのURLを受け取り、そのURLがファイル(文書)?たとえば、SharePoint URLのリストがあり、ドキュメントライブラリやリストではなく、どのURLがファイルを指しているかを調べる必要があります。SharePointのURLがファイルであるかどうかを調べる - MOSSの既定のWebサービス
SharePointサイトのURLを受け取り、そのURLがファイル(文書)?たとえば、SharePoint URLのリストがあり、ドキュメントライブラリやリストではなく、どのURLがファイルを指しているかを調べる必要があります。SharePointのURLがファイルであるかどうかを調べる - MOSSの既定のWebサービス
私は真剣にpropfind(webdav)に行くと考えています。私はファイルやドキュメントのライブラリやリストをチェックする方法について正確な答えを与えることはできませんが、あなたが実装するかもしれない何かの基礎となる機能を投稿することができます...
/// <summary>
/// Checks if MOSS resource exists.
/// </summary>
/// <param name="url">
/// The url to the resource.
/// </param>
/// <returns>
/// True or false.
/// </returns>
/// <exception cref="Exception">
/// </exception>
private bool MossResourceExists(string url)
{
// Create the web request object
var oReq = (HttpWebRequest) WebRequest.Create(url);
// Set the needed properties
oReq.Method = "PROPFIND";
oReq.Credentials = wsLists.Credentials; // Use same credentials as wsLists.
oReq.AllowAutoRedirect = true;
oReq.UserAgent = "Microsoft-WebDAV-MiniRedir/6.1.7600";
try
{
// Enumerate through top level only, increasing the depth will find children.
oReq.Headers["Depth"] = "0";
oReq.Headers["translate"] = "f";
var oRequest = new StreamWriter(oReq.GetRequestStream());
oRequest.WriteLine();
oRequest.Close();
oReq.GetResponse();
////done with the webclient stuff, check the results
//var oMyDoc = new XmlDocument();
//oMyDoc.LoadXml(sResponse);
//var oNsMgr = new XmlNamespaceManager(oMyDoc.NameTable);
//oNsMgr.AddNamespace("D", "DAV:");
//XmlNodeList oAllResponses = oMyDoc.SelectNodes(".//D:multistatus/D:response", oNsMgr);
//foreach (XmlNode oNode in oAllResponses)
//{
// if()
// string oNodeURL = oNode.SelectSingleNode("./D:href", oNsMgr).InnerText.ToLower()
// Console.WriteLine("Name: " +
// oNode.SelectSingleNode("./D:propstat/D:prop/D:displayname",
// oNsMgr).InnerText);
// if (oNode.SelectNodes("./D:propstat/D:prop/D:isFolder", oNsMgr).Count > 0)
// {
// Console.WriteLine("Is folder: " +
// oNode.SelectSingleNode("./D:propstat/D:prop/D:isFolder",
// oNsMgr).InnerText);
// }
// else
// {
// Console.WriteLine("Is folder: f");
// }
// Console.WriteLine();
//}
}
catch (WebException ex)
{
var errorResponse = ex.Response as HttpWebResponse;
if (errorResponse != null)
if (errorResponse.StatusCode == HttpStatusCode.NotFound)
{
return false;
}
else
{
throw new Exception("Error checking if URL exists:" + url + ";Status Code:" +
errorResponse.StatusCode + ";Error Message:" + ex.Message);
}
}
return true;
}
@Stranger:あなたの質問はおそらくよくタグ付けされていないので見られませんでした。すべてのSharePoint質問に 'sharepoint'が付いていることを確認してください。また、コメントを回答として残さないでください。あなたの質問を編集して、それをアクティブリストの一番上にバンプしてください。 –