【发布时间】:2019-06-12 00:55:13
【问题描述】:
我正在尝试使用 Graph SDK 通过 URL 获取特定的 Sharepoint 站点,以便我可以读取和写入列表、创建文档库以及将文档添加到现有库。
这可以获取根:
var site = await graphClient.Sites[SPUrl].Request().GetAsync();
这无法获得我想要的网站:
var site = await graphClient.Sites[SPUrl+"/segment1/segment2/site"].Request().GetAsync();
这对于通过 URL 获取站点不起作用——它告诉我“提供的路径不存在或不代表站点”:
var siteByPath = await graphClient.Sites[SPUrl].SiteWithPath("/segment1/segement2/site").Request().GetAsync();
但是使用图形资源管理器,这有效: https://graph.microsoft.com/v1.0/sites/my.site.com:/sites/segment1/segment2/site?$select=id
使用图形资源管理器,我确定 URL 的每个部分都被视为自己的站点,但没有任何运气这样做 - 错误是“提供的标识符格式错误 - id 无效”:
var site = await graphClient.Sites[SPUrl].Sites["segment1"].Request().GetAsync();
我错过了什么?
使用 Sharepoint CSOM,您只需通过 URL 请求站点即可。我的应用程序现在在 Azure 中,并通过 OAuth 令牌进行身份验证,而不是通过应用程序中处理的用户名和密码进行身份验证,因此我不确定我是否可以通过 CSOM 传递该身份验证。据我所知,我现在需要使用 Graph。
【问题讨论】:
标签: c# asp.net azure microsoft-graph-api sharepoint-online