1

Web パーツで SharePoint クライアント オブジェクト モデルを使用できますか?

このコードは私のコンソール アプリケーションでは機能しますが、Web パーツでは「リモート サーバーがエラーを返しました: (401) Unauthorized」を返します。

コードは次のとおりです。

var siteUrl = "http://www.server.com/";
var clientContext = new ClientContext(siteUrl);

var root = clientContext.Site.RootWeb;
WebCollection collWeb = root.GetSubwebsForCurrentUser(null);
clientContext.Load(root);
clientContext.Load(collWeb);
clientContext.ExecuteQuery();

問題は、クライアント コンテキストが現在のユーザー資格情報を使用していないことにある可能性があります。私は何をすべきか?

4

2 に答える 2

2

資格情報を clientContext に追加します。

System.Net.NetworkCredential cr = new System.Net.NetworkCredential("username", "password"); 

ClientContext clientContext = new ClientContext(siteURL);

clientContext.Credentials = cr;
于 2012-04-24T11:38:20.360 に答える
0

試してみてください

System.Net.CredentialCache.DefaultCredentials 

現在のユーザーの資格情報を取得する

ただし、リモートの共有ポイント サーバーを呼び出している場合は、残念ながら機能しません。これは、ダブル ホップの問題があるためです。

現在のユーザーとしてリモート共有ポイントを呼び出す方法は、ECMA クライアント オブジェクト モデルを使用しています...

もちろん、ユーザーはすでにログインしている必要があります

于 2012-04-25T05:00:23.467 に答える