2016-09-01 8 views
0

Я читал наш Google-Apps-User, как это:Google-Admin-SDK - .Net-клиент - не может установить параметр проекции для списка пользователей

UsersResource.ListRequest userrequest = service.Users.List(); 
userrequest.MaxResults = 250; 
userrequest.Customer = "xxxxxxx"; 
IList<User> gusers = userrequest.Execute().UsersValue; 
foreach (var guser in gusers) { .... } 

Нет проблем до сих пор, я получаю то, что я хотите, кроме полей CustomSchema. В API-Explorer легко установить «проецирование» на «полный», и все отлично, но в C# -Code я не понимаю, как это сделать.

Если я пытаюсь это:

userrequest.Projection = "FULL"; 

Я получаю эту подсказку:

UserResource.ListRequest.ProjectionEnum? ListRequest.Projection 

Я знаю, что для истинного кодировщика этого решения, но я не понимаю , Что мне нужно написать, чтобы получить проекцию на «полный»? Даже в исходном коде от Google это просто строка (хорошо, я совершенно новой для .Net-кодирования, может быть, мне не хватает много здесь)

/// <summary>Restrict information returned to a set of selected fields. </summary> 
    [Google.Apis.Util.RequestParameterAttribute("projection", Google.Apis.Util.RequestParameterType.Query)] 
    public virtual System.Nullable<ProjectionEnum> Projection { get; set; } 

    /// <summary>Restrict information returned to a set of selected fields.</summary> 
    public enum ProjectionEnum 
    { 
     /// <summary>Includes only the basic metadata fields (e.g., deviceId, serialNumber, status, and 
     /// user)</summary> 
     [Google.Apis.Util.StringValueAttribute("BASIC")] 
     BASIC, 
     /// <summary>Includes all metadata fields</summary> 
     [Google.Apis.Util.StringValueAttribute("FULL")] 
     FULL, 
    } 
+0

'userrequest.Projection = ProjectionEnum.FULL;' – stuartd

+0

Thx для быстрого ответа! Когда я вижу, я понимаю - довольно простой, хороший урок! o) Странно, что теперь я получаю «... не в текущем контексте» (перевод с немецкого сообщения) для ProjectionEnum, несмотря на то, что используются Google.Apis.Util и Google.Apis.Util.Store. Еще один маленький намек? –

+0

Получил это !!! Должно быть: userrequest.Projection = Google.Apis.Admin.Directory.directory_v1.UsersResource.ListRequest.ProjectionEnum.Full; Не знаю, почему это невозможно в противном случае ... –

ответ

0

Понял !!! Должно быть:

userrequest.Projection = Google.Apis.Admin.Directory.directory_v1.UsersResource.ListR‌​equest.ProjectionEnu‌​m.Full; 

Не знаю, почему это невозможно, иначе контекст каталога используется.

+0

Полное пространство имен должно быть указано или разрешено с помощью инструкции 'using' – stuartd