我正在使用SharePoint客户端对象模型在线登录SharePoint,然后检索列表以获取SharePoint上的文档。然后我想获得这些文档的共享链接。这就是我现在正在做的事情:
using (var context = new ClientContext(siteURL))
{
context.Credentials = new SharePointOnlineCredentials(login, securePassword);
context.Load(context.Web, w => w.Title);
context.ExecuteQuery();
List docList = context.Web.Lists.GetByTitle("Documents");
context.Load(docList);
// This creates a CamlQuery that has a RowLimit of 100, and also specifies Scope="RecursiveAll"
// so that it grabs all list items, regardless of the folder they are in.
CamlQuery query = CamlQuery.CreateAllItemsQuery(100);
ListItemCollection items = docList.GetItems(query);
// Retrieve all items in the ListItemCollection from List.GetItems(Query).
context.Load(items);
context.ExecuteQuery();
foreach (ListItem listItem in items)
{
var sharingInfo = ObjectSharingInformation.GetListItemSharingInformation(
context, docList.Id, listItem.Id, false, true, false, true, true, true);
context.Load(sharingInfo);
context.ExecuteQuery();
string str = sharingInfo.AnonymousEditLink;
}
}
这里的问题是sharingInfo
对象有一个名为AnonymousEditLink的字段,但它是一个空字符串。我不知道为什么这是一个空字符串。这是生成共享链接的正确方法吗?
我也试过这个(但无济于事):
var sharingInfo = ObjectSharingInformation.GetObjectSharingInformation(
context, listItem, false, true, false, true, true, true, true);
答案 0 :(得分:0)
我一直在使用GetListItemSharingInformation进行一些工作/测试,并且一旦用户访问了通过电子邮件收到的链接,AnonymousEditLink似乎就会被填充。
SharedWithUsersCollection也是如此。基本上,一旦用户访问了链接。您将发现已填充属性。