2014-03-28 17 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

相關問題