我已经设置了一个 SharePoint Online 网站,并且创建了一个提供商托管的应用程序。该应用程序的功能之一是重命名站点、子站点和列表,有时需要重命名站点、子站点和列表,但不包括重命名 URL。当使用默认语言英语创建的共享点站点时,我可以通过 CSOM c# 代码重命名站点子站点和列表,没有任何问题,但是当我尝试重命名站点子站点并列出使用非英语默认语言创建的站点时,不会发生任何情况,也不会出现错误如果我通过浏览器登录 SharePoint Online(使用相同的用户帐户!)并且使用 UI 重命名 URL,那么它可以正常工作。
这是我用来重命名网站和子网站的代码
var siteUrl_english = "
using ( ClientContext ctx = new ClientContext( siteUr_nonEnglish ) )
ctx.Load( ctx.Site );
ctx.ExecuteQuery();
Web oWeb = ctx.Web;
oWeb.Title = "TitleChnagedFor_Non-English";
oWeb.Update();
ctx.ExecuteQuery();
我已在 Microsoft 365 开发人员订阅上尝试过此操作(我在其中进行大部分开发和测试)
Title
实际上是一个国际化的资源。想象一下一个属性包,其中包含每个区域设置的值(为了简单起见,我将其放入 JSON 中)
创作:{ en:
My title
, fr: My title
, ...any: My title
}
更新:{ en: My NEW TITLE!!!
, fr: My title
, ...any: My title
}
要以另一种语言进行更新,这是谷歌给我的:http://sanderlesage.blogspot.com/2016/03/change-site-title-for-all-languages.html