2016-07-04 9 views
1

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

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

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

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

Fig. 1

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

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

Fig. 2

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

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


Update

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

Fig. 3

Это может быть полезным в новом 2016 года против ест, кстати. Посмотрим.

ответ

0

UiCulture должен быть объектом Культуры.

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

blablabla.GetValueForUICulture(new CultureInfo(1036)).Value; 
+0

Хм, но доктор сказал, что она должна быть строка (я использую модель Client Object): [Link] (https://msdn.microsoft.com /en-us/library/office/microsoft.sharepoint.client.userresource.getvalueforuiculture.aspx). Btw, Visual Studio отклоняет эту строку. И он все еще говорит, что «TitleResource» не существует. Хотя документ пишет, что это для SharePoint 2013, я не уверен, что это правда или ошибка Microsoft. –

+0

Если я хорошо помню, это онлайн для SharePoint в Интернете (O365). По положению SP ограничены в многоязычном языке через CSOM. Только опция: serveride-code. Чтобы использовать удаленный доступ: разверните веб-сервис, который вызывает код сервера и назовите его с удаленной машины. – Verthosa

+0

Это, к сожалению, выглядит так, к сожалению. Страница документа MSDN не совсем понятна, поскольку она говорит, что она доступна из «SharePoint 2013» (без упоминания, что она доступна исключительно из онлайн-версии). Спасибо за вашу помощь! :) –

 Смежные вопросы

  • Нет связанных вопросов^_^