2014-03-28 77 views
0

我正在尝试获取每个用户域的组数。因此,我首先从Directory APi.UsersprimaryEmail字段 中获取用户域,然后获取每个域的组数。Google API和Directory SDK:获取每个域的组数:HttpError(“group”)

收集域的第一部分获得正确的结果。第二部分提出<class 'apiclient.errors.HttpError'>exception.message = "group"(确实不是很有用)。这个例外只针对一些域名而不是全部。

这里有一个片段:

def groupsPerDomain(): 
    #code that gets domains... omitted for brevity 
    #domain_stats = {domainName: <some group info>,...} 
    #service directory is a directory service instance 
    groups_sub = service_directory.groups() 
    for domain in domain_stats: 
     request = groups_sub.list(domain=domain, 
       fields="groups(directMembersCount,id,name)") 
     domain_groups_count = 0 
     while request != None: 
      groups_page = request.execute() #THE EXCEPTION IS RAISED HERE 
      #count groups per domain 
      domain_groups_count += len(groups_page["groups"]) 
      request = groups_sub.list_next(request, groups_page) 
     #save counted groups per domain 
     domain_stats[domain]["group_count"] = domain_groups_count 

    return domain_stats 

感谢。

回答

1

如果您打算使用分页,您必须将nextPageToken作为其中一个字段。

request = groups_sub.list(domain=domain,fields="nextPageToken,groups(directMembersCount,id,name)") 

我建议,而不是把一个API调用的各个领域,获得所有组的帐户,然后解析知道他们属于哪个域的地址。别忘了groups can also have aliases

相关问题