Directory.users()。list()。setQuery方法的格式是什么?

时间:2013-06-18 20:33:04

标签: google-admin-sdk

documentation州:

  

前缀匹配搜索的查询字符串。应该是“key”形式:“value”,其中key可以是“email”,“firstName”或“lastName”。

我试过了:

directory.users().list().setQuery("email:" + email).execute()

directory.users().list().setQuery("\"email\":\"" + email + "\"").execute()

directory.users().list().setQuery("email:\"" + email + "\"").execute()

他们都返回400:Bad Request响应。如何正确过滤电子邮件地址?谢谢!

3 个答案:

答案 0 :(得分:2)

以下是通过电子邮件地址获取用户的方式。

directory.users().get(userKey=email).execute()

通过电子邮件地址为用户搜索的代码应该类似于

directory.users().list(query='email:emily@example.com').execute()

但这不起作用。我怀疑Google's API docs中的错误,或者可能是实际实施中的错误。

答案 1 :(得分:2)

目前列表API仅支持前缀查询,请参阅查询参数here的文档。

尝试查询“email:someEmail@someDomain.com*” - >注意最后的星号。

答案 2 :(得分:0)

也许这会指出你正确的方向:

    var listReq = service.Users.List();
            listReq.Domain = domain;
        Users results = listReq.Execute();