【发布时间】:2018-11-30 02:06:43
【问题描述】:
我正在尝试提取 G-Suite Admin SDK 中所有暂停用户的详细信息,为此我在 Google Apps 脚本中编写了一个查询:
function fetchUser(){
var pageToken;
var membersList = AdminDirectory.Users.list({
domain: 'xyz.com',
orderBy: 'email',
query: isSuspended=true,
maxResults: 100,
pageToken: pageToken
});
Logger.log('membersList:' +membersList);
}
我在logs 中得到的结果是:
[18-06-20 16:32:15:413 EDT] membersList:{"kind":"admin#directory#users","etag":"\"npJcgeAc7XbfkhvPm3glLSpkcPU/HMFwD2wLX237BRmKZQUJYB5ZE7U\""}
我无法在G-suite-admin-SDK 中提到的响应中看到用户列表,它表示响应应该类似于:
{
"kind": "admin#directory#users",
"etag": etag,
"users": [
users Resource
],
"nextPageToken": string
}
我使用search-users 文档进行搜索查询,上面写着要使用isSuspended=true,我可以知道我做错了什么吗?
【问题讨论】:
-
我注意到您没有指定任何请求的字段。您是否有理由不提供
fields参数?所有 Google API 都建议使用“字段”参数来减少您和您的用户的带宽。另外-您的查询看起来不对。查询通常是字符串,而您的查询是赋值表达式的结果。 -
我没有在user-list 中看到
fields,因此我没有使用它。就赋值表达式而言,它不会在脚本中引发错误,只是为了确保不是因为我声明了var isSuspended = true,然后在生成相同输出的代码中使用了query: isSuspended。跨度> -
isSuspended=true是一个 Javascript 语句。"isSuspended=true"是一个字符串。您可以在“标准查询参数”下查看每个 Google API 中的“字段”参数 -
我的意思是它是一个 Javascript 语句,而不是一个字符串
-
根据您链接的参数的描述,
query参数的格式为string。因此,提供一个语句可能意味着您给它一个随机值(例如true或undefined,这意味着您发送了以下内容:var options = {query: true}或var options = {query: undefined},这肯定不会给出与var options = {query: "isSuspended=true"}
标签: google-apps-script google-admin-sdk google-workspace