我目前正在从共享文件夹中检索 siteId 和 listId 。到目前为止,我设法在可以访问 Sharepoint 根目录的 Sharepoint 文件夹上执行此操作,但是当我使用共享 Sharepoint 位置的 URL 时,我收到以下错误消息:“租户的主机名无效”
对于一些上下文,我的用例如下:
- 我的一位同事通过 Sharepoint (xxx.sharepoint.com) 与我共享一个文件夹。
- 我可以访问他的文件夹。
- 如果我只是转到根目录(xxx.sharepoint.com),我会遇到“拒绝访问”,这很好(我相信)。
- 我想使用此文件夹的 URL 从共享文件夹中检索 sideId、listId(最终是 driveId)。
到目前为止,正如我之前所说,我能够为我可以访问根目录的共享点文件夹检索这些信息。不幸的是,在我之前描述的用例中,我有一个错误,即使通过检索我有权访问的所有站点或从文件夹 URL 获取列表,我也无法检索它。
到目前为止我正在使用的一段代码:
public async Task<List> UrlToList(string accessToken, string url)
{
url = url.Replace("/Forms/AllItems.aspx", "");
Uri uri = new Uri(url);
var segments = string.Join("", uri.Segments[0..^1]).TrimEnd('/');
var request = graphClient.Sites[uri.Host].SiteWithPath(segments).Lists.Request(Options(accessToken));
var lists = await request.GetAsync();
var list = lists.First(l => string.Compare(url, l.WebUrl, true) == 0);
return list;
}
我目前只看到两个选项...可能来自 xxx.sharepoint.com 的配置或权限问题。
有没有可能的方法来检索这些信息?如果是这样,怎么做?是否还有任何代码示例可用?