gpt4 book ai didi

java - 如何检索我域中的所有用户

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:41:59 26 4
gpt4 key购买 nike

我在该域中创建了一个域,我创建了近 500 个用户帐户。我想检索我域中的所有用户。因此我使用以下编码来检索我域中的所有用户。但在该编码中我显示只有前 100 个用户。它还显示总用户条目 100。我不知道这个编码有什么问题。

import com.google.gdata.client.appsforyourdomain.UserService;
import com.google.gdata.data.appsforyourdomain.provisioning.UserEntry;
import com.google.gdata.data.appsforyourdomain.provisioning.UserFeed;
import com.google.gdata.util.AuthenticationException;
import com.google.gdata.util.ServiceException;

import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;

/**
* This is a test template
*/

public class AppsProvisioning {

public static void main(String[] args) {

try {

// Create a new Apps Provisioning service
UserService myService = new UserService("My Application");
myService.setUserCredentials(admin,password);

// Get a list of all entries
URL metafeedUrl = new URL("https://www.google.com/a/feeds/"+domain+"/user/2.0/");
System.out.println("Getting user entries...\n");
UserFeed resultFeed = myService.getFeed(metafeedUrl, UserFeed.class);
List<UserEntry> entries = resultFeed.getEntries();
for(int i=0; i<entries.size(); i++) {
UserEntry entry = entries.get(i);
System.out.println("\t" + entry.getTitle().getPlainText());
}
System.out.println("\nTotal Entries: "+entries.size());
}
catch(AuthenticationException e) {
e.printStackTrace();
}
catch(MalformedURLException e) {
e.printStackTrace();
}
catch(ServiceException e) {
e.printStackTrace();
}
catch(IOException e) {
e.printStackTrace();
}
}
}

这个编码有什么问题?

最佳答案

用户列表在原子提要中返回。这是分页提要,每页最多 100 个条目。如果提要中有更多条目,则将有一个带有 rel="next"属性的 atom:link 元素,指向下一页。您需要继续关注这些链接,直到没有更多“下一页”为止。

参见:http://code.google.com/apis/apps/gdata_provisioning_api_v2.0_reference.html#Results_Pagination

代码看起来像这样:

URL metafeedUrl = new URL("https://www.google.com/a/feeds/"+domain+"/user/2.0/");
System.out.println("Getting user entries...\n");
List<UserEntry> entries = new ArrayList<UserEntry>();

while (metafeedUrl != null) {
// Fetch page
System.out.println("Fetching page...\n");
UserFeed resultFeed = myService.getFeed(metafeedUrl, UserFeed.class);
entries.addAll(resultFeed.getEntries());

// Check for next page
Link nextLink = resultFeed.getNextLink();
if (nextLink == null) {
metafeedUrl = null;
} else {
metafeedUrl = nextLink.getHref();
}
}

// Handle results
for(int i=0; i<entries.size(); i++) {
UserEntry entry = entries.get(i);
System.out.println("\t" + entry.getTitle().getPlainText());
}
System.out.println("\nTotal Entries: "+entries.size());

关于java - 如何检索我域中的所有用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2205156/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com