SharingCapability SharePoint Online 网站集 c#
SharingCapability SharePoint Online Site Collection c#
我想在设置我的网站集后设置 SharingCapability 属性。我使用了 PnP 的文档,你可以在这里找到 (External Sharing APIs for SharePoint and OneDrive for Business (Core.ExternalSharing))
当我将 属性 设置为 'ExternalUserAndGuestSharing' 时,没有任何反应。网站集仍无法与外部共享。
这是我的代码:
public static void SetSharingCapability(string fullWebUrl, ClientContext context)
{
Tenant tenant = new Tenant(context);
SiteProperties siteProp = tenant.GetSitePropertiesByUrl(fullWebUrl, true);
context.Load(siteProp);
context.ExecuteQuery();
siteProp.SharingCapability = SharingCapabilities.ExternalUserAndGuestSharing;
siteProp.Update();
context.ExecuteQuery();
}
您对解决 'problem' 有什么建议吗?
最有可能在应用设置 (SharingCapability
) 后,操作本身尚未完成,并且尚未反映更新设置的原因:
siteProp.SharingCapability = SharingCapabilities.ExternalUserAndGuestSharing;
siteProp.Update();
context.ExecuteQuery(); //<- even though the query is submitted to the server there is no guarantee at this moment the update operation is completed
为了确保更新操作完成,您可以考虑以下解决方案:
public static void SetSharingCapability(string fullWebUrl, ClientContext context)
{
Tenant tenant = new Tenant(context);
SiteProperties siteProp = tenant.GetSitePropertiesByUrl(fullWebUrl, true);
siteProp.SharingCapability = SharingCapabilities.Disabled;
siteProp.Update();
context.ExecuteQuery();
siteProp = tenant.GetSitePropertiesByUrl(fullWebUrl, true);
context.Load(siteProp, p => p.Status);
context.ExecuteQuery();
while (siteProp.Status == "Updating")
{
Thread.Sleep(TimeSpan.FromSeconds(1));
siteProp = tenant.GetSitePropertiesByUrl(fullWebUrl, true);
context.Load(siteProp);
context.ExecuteQuery();
}
}
我想在设置我的网站集后设置 SharingCapability 属性。我使用了 PnP 的文档,你可以在这里找到 (External Sharing APIs for SharePoint and OneDrive for Business (Core.ExternalSharing))
当我将 属性 设置为 'ExternalUserAndGuestSharing' 时,没有任何反应。网站集仍无法与外部共享。
这是我的代码:
public static void SetSharingCapability(string fullWebUrl, ClientContext context)
{
Tenant tenant = new Tenant(context);
SiteProperties siteProp = tenant.GetSitePropertiesByUrl(fullWebUrl, true);
context.Load(siteProp);
context.ExecuteQuery();
siteProp.SharingCapability = SharingCapabilities.ExternalUserAndGuestSharing;
siteProp.Update();
context.ExecuteQuery();
}
您对解决 'problem' 有什么建议吗?
最有可能在应用设置 (SharingCapability
) 后,操作本身尚未完成,并且尚未反映更新设置的原因:
siteProp.SharingCapability = SharingCapabilities.ExternalUserAndGuestSharing;
siteProp.Update();
context.ExecuteQuery(); //<- even though the query is submitted to the server there is no guarantee at this moment the update operation is completed
为了确保更新操作完成,您可以考虑以下解决方案:
public static void SetSharingCapability(string fullWebUrl, ClientContext context)
{
Tenant tenant = new Tenant(context);
SiteProperties siteProp = tenant.GetSitePropertiesByUrl(fullWebUrl, true);
siteProp.SharingCapability = SharingCapabilities.Disabled;
siteProp.Update();
context.ExecuteQuery();
siteProp = tenant.GetSitePropertiesByUrl(fullWebUrl, true);
context.Load(siteProp, p => p.Status);
context.ExecuteQuery();
while (siteProp.Status == "Updating")
{
Thread.Sleep(TimeSpan.FromSeconds(1));
siteProp = tenant.GetSitePropertiesByUrl(fullWebUrl, true);
context.Load(siteProp);
context.ExecuteQuery();
}
}