Google-Admin-SDK - .Net-Client - 无法为用户列表设置投影参数

时间:2016-09-01 09:34:34

标签: c# google-api-client google-admin-sdk

我正在阅读我们的Google-Apps-User:

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,
    }

1 个答案:

答案 0 :(得分:0)

得到了!!!必须是:

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

不知道为什么它无法访问,否则无论如何都会使用目录上下文。