2016-07-04 16 views
1

私はSharePoint 2013サーバー(オンプレミス)に多言語サイトを持っており、ローカライズされたサイトを取得し、.NET Managed API(CSOM )C#で。CSOMを使用してSharePoint 2013からローカライズされたリスト/サイト名を取得

私はWebオブジェクトとそのGetValueForUICulture()方法から"TitleResource" propertyオブジェクトを使用しようとしました:

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

しかし、それはこのフィールド/プロパティが存在しないことを言って最後の行でクラッシュ:

Fig. 1

以前Office PnPプロジェクトのサンプルアプリケーションに表示されているように、Webの "LocaleID"値を更新しようとしました:check here

しかし、サーバーは、私はそれを行うのに十分な権限を持っていないと言って、例外をスロー:ちょうど私、

Fig. 2

まあ、私は本当に、サーバー上のLocaleIDを更新する必要はありませんローカライズされたタイトルをローカルに取得したいので、完全に間違った方法であるようです。

ローカライズされたタイトルの文字列をSharePointサーバーから取得するにはどうすればよいですか?私は何が欠けていますか?


更新

は参考のために、TitleResourceDescriptionResource属性は、SharePointの「オンライン」版からのみアクセス可能であることを思わ、まだMSDNドキュメントは、そのことについては何も言及していません、これらの不適切な使用につながる:

Fig. 3

それはブランドの新しい2016 Vで使用可能ですersion、btw。我々は見るでしょう。

答えて

0

UiCultureはCultureオブジェクトである必要があります。

はこれを試してみてください:

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

うーん、しかし、ドキュメントは(私はクライアントオブジェクトモデルを使用している)、それは文字列である必要があることを言う:[リンク](https://msdn.microsoft.com /en-us/library/office/microsoft.sharepoint.client.userresource.getvalueforuiculture.aspx)。 Btw、Visual Studioはこの行を拒否します。そして、それはまだ "TitleResource"が存在しないと言う。ドキュメントには、SharePoint 2013のためのものだと書かれていますが、それが本当であるかMicrosoftのエラーであるかはわかりません。 –

+0

私はよく覚えていれば、これはSharePoint Online(O365)のオンラインです。プレミアムSPは、CSOMを使用して多言語に制限されています。オプション:serverside-codeのみ。リモートを使用するには:serversideコードを呼び出してリモートマシンから呼び出すwebserviceをデプロイします – Verthosa

+0

これは事実上悲しいことです。 MSDNのドキュメントページは、「SharePoint 2013」からアクセス可能であると言われています(オンライン版から排他的にアクセス可能であることは言及されていません)。とにかく助けてくれてありがとう! :) –

関連する問題