匿名アクセス時の Client OM の制限解除方法
Client OM を使って匿名アクセスをする場合、利用できるメソッドに制限があります。
例えば標準状態では、以下のコードは22行目を実行するとエラーとなります。
1: ClientContext ctx = new ClientContext("http://hoge");
2: ctx.AuthenticationMode = ClientAuthenticationMode.Anonymous;
3: List list = ctx.Web.Lists.GetByTitle("Sample");
4:
5: CamlQuery query = new CamlQuery();
6: query.ViewXml =
7: "<View>" +
8: "<Query>" +
9: "<Where>" +
10: "<Eq>" +
11: "<FieldRef Name='\_ModerationStatus' />" +
12: "<Value Type='ModStat'>0</Value>" +
13: "</Eq>" +
14: "</Where>" +
15: "</Query>" +
16: "</View>";
17:
18: ListItemCollection itemColl = list.GetItems(query);
19:
20: ctx.Load(itemColl);
21: ctx.Load(itemColl, items => items.Include(item => item["Title"]));
22: ctx.ExecuteQuery();
エラーの内容は以下の通り。