3 votes

Comment récupérer tous les utilisateurs de mon domaine

J'ai créé un domaine dans ce domaine, j'ai créé près de 500 comptes d'utilisateur. Je veux récupérer tous les utilisateurs de mon domaine. J'utilise donc le code suivant pour récupérer tous les utilisateurs de mon domaine. Mais dans ce code, seuls les 100 premiers utilisateurs sont affichés. De plus, il affiche un total de 100 entrées d'utilisateurs. Je ne sais pas quel est le problème dans ce code.

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;

/**
 * Ceci est un modèle de test
 */

  public class AppsProvisioning {

    public static void main(String[] args) {

      try {

        // Créer un nouveau service de provisionnement d'Applications
        UserService myService = new UserService("Mon Application");
        myService.setUserCredentials(admin,password);

        // Obtenir la liste de toutes les entrées
        URL metafeedUrl = new URL("https://www.google.com/a/feeds/"+domain+"/user/2.0/");
        System.out.println("Récupération des entrées utilisateur...\n");
        UserFeed resultFeed = myService.getFeed(metafeedUrl, UserFeed.class);
        List entries = resultFeed.getEntries();
        for(int i=0; i

`

quel est le problème dans ce code?

`

2voto

Sam Points 799

La liste des utilisateurs est renvoyée dans un flux atom. Il s'agit d'un flux paginé, avec un maximum de 100 entrées par page. S'il y a plus d'entrées dans le flux, il y aura un élément atom:link avec un attribut rel="next", pointant vers la page suivante. Vous devez suivre ces liens jusqu'à ce qu'il n'y ait plus de pages 'next'.

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

Le code ressemblera à ceci :

URL metafeedUrl = new URL("https://www.google.com/a/feeds/"+domain+"/user/2.0/");
System.out.println("Obtention des entrées utilisateur...\n");
List entries = new ArrayList();

while (metafeedUrl != null) {
    // Récupérer la page
    System.out.println("Récupération de la page...\n");
    UserFeed resultFeed = myService.getFeed(metafeedUrl, UserFeed.class);
    entries.addAll(resultFeed.getEntries());

    // Vérifier la page suivante
    Link nextLink = resultFeed.getNextLink();
    if (nextLink == null) {
        metafeedUrl = null;
    } else {
        metafeedUrl = nextLink.getHref();
    }
}

// Gérer les résultats
for(int i=0; i

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X