Получите локализованный список/имя сайта из локальной среды SharePoint 2013 с помощью CSOM

У меня есть многоязычные сайты на моем сервере SharePoint 2013 (локально), и я хотел бы получить локализованные сайты и имена списков через управляемый API .NET (CSOM) на C#.

Я пытался использовать "TitleResource" объект property из веб-объекта и его GetValueForUICulture():

var web = spContext.Web;
var webTitleRes = web.TitleResource;
var webFrenchTitle = webTitleRes.GetValueForUICulture("fr").Value;
spContext.ExecuteQuery();

Но он вылетает на последней строке, говоря, что это поле/свойство не существует:

Рис. 1

Ранее я пытался обновить значение «LocaleID» в Интернете, как оно показано в примере приложения из проекта Office PnP: проверьте здесь

Но сервер выдает исключение, говоря, что у меня недостаточно прав для этого:

Рис. 2

Ну, я действительно не хочу обновлять LocaleID на сервере, я просто хочу локально получать локализованные заголовки, так что это кажется совершенно неправильным способом.

Как я могу получить локализованную строку заголовка с моего сервера SharePoint? Что мне не хватает?


Обновлять

Для справки: кажется, что атрибуты TitleResource и DescriptionResource доступны только из «сетевой» версии SharePoint, однако документ MSDN ничего об этом не упоминает, что приводит к неправильное использование этих:

Рис. 3

Кстати, его можно использовать в новой версии 2016 года. Посмотрим.


person Aelys    schedule 04.07.2016    source источник


Ответы (1)


UiCulture должен быть объектом Culture.

Попробуй это:

blablabla.GetValueForUICulture(new CultureInfo(1036)).Value;
person Verthosa    schedule 04.07.2016
comment
Хм, но документ говорит, что это должна быть строка (я использую клиентскую объектную модель): Ссылка. Кстати, Visual Studio отклоняет эту строку. И все равно говорят, что TitleResource не существует. Хотя в документе написано, что это для SharePoint 2013, я не уверен, правда это или ошибка Microsoft. - person Aelys; 04.07.2016
comment
если я хорошо помню, это онлайн для SharePoint в Интернете (O365). Местные SP ограничены многоязычностью через CSOM. Единственный вариант: серверный код. Чтобы использовать удаленно: разверните веб-сервис, который вызывает серверный код, и вызовите его с удаленного компьютера. - person Verthosa; 04.07.2016
comment
Это действительно так, к сожалению. Страница документа MSDN не совсем ясна, поскольку в ней говорится, что она доступна из SharePoint 2013 (без упоминания о том, что она доступна исключительно из онлайн-версии). Спасибо за вашу помощь в любом случае! :) - person Aelys; 04.07.2016