Working with Multi-page Feeds Google Provisioning API

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Working with Multi-page Feeds Google Provisioning API

Hugo León
Hello everyone.
I'm trying to get all users of a Google Apps domain and does it well.
But when there are domains with more than 100 users appear only the first 100, and with the function that comes into Zend website gives me the link https://apps-apis.google.com/a/feeds/domain.com/user/2.0?startUsername=username, but obviously when I click on that link it does not work because I need authorization via ClientLogin again. And what I want to do is that it only shows me the next 100 users.

How can I do this?
Thanks in advance.

Hugo
Reply | Threaded
Open this post in threaded view
|

Re: Working with Multi-page Feeds Google Provisioning API

Ryan Boyd (Google)
You probably have an existing $feed variable with the feed of results.

Try:
$feedWithNextPageOfEntries = $feed->getNextFeed();

If you have a $service and an existing $feed and want to retrieve ALL entries (can be expensive), you can do:
$feedWithAllEntries = $service->retrieveAllEntriesForFeed($feed);

Cheers,
-Ryan

On Tue, Oct 13, 2009 at 2:56 PM, Hugo León <[hidden email]> wrote:

Hello everyone.
I'm trying to get all users of a Google Apps domain and does it well.
But when there are domains with more than 100 users appear only the first
100, and with the function that comes into Zend website gives me the link
https://apps-apis.google.com/a/feeds/domain.com/user/2.0?startUsername=username,
but obviously when I click on that link it does not work because I need
authorization via ClientLogin again. And what I want to do is that it only
shows me the next 100 users.

How can I do this?
Thanks in advance.

Hugo
--
View this message in context: http://www.nabble.com/Working-with-Multi-page-Feeds-Google-Provisioning-API-tp25881614p25881614.html
Sent from the Zend gdata mailing list archive at Nabble.com.


Reply | Threaded
Open this post in threaded view
|

Re: Working with Multi-page Feeds Google Provisioning API

";
echo "";
echo "";
}
if ($previousLink !== null) {
  echo "previous url: " . $previousLink->href . "<br />";
  $previousFeed = $gapps->getUserFeed($previousLink->href);
}
if ($nextLink !== null) {
  echo "next url: " . $nextLink->href . "<br />";  
  $nextFeed  = $gapps->getUserFeed($nextLink->href);
}

Where should I put '$feedWithNextPageOfEntries = $feed->getNextFeed();' ? or how should I call it?.

Thanks in advance.
Hugo

Ryan Boyd (Google) wrote
You probably have an existing $feed variable with the feed of results.

Try:$feedWithNextPageOfEntries = $feed->getNextFeed();
If you have a $service and an existing $feed and want to retrieve ALL
entries (can be expensive), you can do:
$feedWithAllEntries = $service->retrieveAllEntriesForFeed($feed);

Cheers,
-Ryan

On Tue, Oct 13, 2009 at 2:56 PM, Hugo León <hugolec@gmail.com> wrote:

>
> Hello everyone.
> I'm trying to get all users of a Google Apps domain and does it well.
> But when there are domains with more than 100 users appear only the first
> 100, and with the function that comes into Zend website gives me the link
>
> https://apps-apis.google.com/a/feeds/domain.com/user/2.0?startUsername=username
> ,
> but obviously when I click on that link it does not work because I need
> authorization via ClientLogin again. And what I want to do is that it only
> shows me the next 100 users.
>
> How can I do this?
> Thanks in advance.
>
> Hugo
> --
> View this message in context:
> http://www.nabble.com/Working-with-Multi-page-Feeds-Google-Provisioning-API-tp25881614p25881614.html
> Sent from the Zend gdata mailing list archive at Nabble.com.
>
>
Hugo León
Hello Ryan.

For now I'm getting in the same manner the feed to the next page, but the URL that I've got is https://apps-apis.google.com/a/feeds/domain.com/user/2.0?startUsername=username and when I click it can't see the next page of the feed.

What I do not want to do is show all the entries because we have one GApps domain with about 2,000 users, just as you recommended me.

Here is the code:

Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_Gapps');
Zend_Loader::loadClass('Zend_Gdata_Feed');

//ClientLogin
function getClientLoginHttpClient($user, $pass)
{
  try{
  $service = Zend_Gdata_Gapps::AUTH_SERVICE_NAME;
        $client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);
        return $client;
  } catch (Zend_Gdata_App_AuthException $e) {
         
  }
}
       
$client = getClientLoginHttpClient($admin."@".$domain, $gappspass);
$gapps = new Zend_Gdata_Gapps($client, $domain);
$feed = $gapps->getUserFeed();
$previousLink = $feed->getLink("previous");
$nextLink = $feed->getLink("next");

foreach ($feed as $user) {
echo "
".$user->login->username."
Reply | Threaded
Open this post in threaded view
|

Re: Working with Multi-page Feeds Google Provisioning API

Ryan Boyd-3
When you echo out the previous and next URLs, what do you get?  You won't be able to click on it and see it (because you wouldn't be sending the appropriate auth credentials), but you should be able to retrieve that feed.

The following two blocks of code should be identical:
---
while ($feed !== null) {
  foreach ($feed as $user) {
    echo "<tr>";
    echo "<td>".$user->login->username."</td>";
    echo ""</tr>;
  }
  $feed = $feed->getNextFeed();
}
----
---
while ($feed !== null) {
  foreach ($feed as $user) {
    echo "<tr>";
    echo "<td>".$user->login->usern"</td>";
    echo ""</tr>;
  }
  $feed = $feed->getUserFeed($nextLink);
}
----

On Wed, Oct 21, 2009 at 4:34 PM, Hugo León <[hidden email]> wrote:

Hello Ryan.

For now I'm getting in the same manner the feed to the next page, but the
URL that I've got is
and when I click it can't see the next page of the feed.

What I do not want to do is show all the entries because we have one GApps
domain with about 2,000 users, just as you recommended me.

Here is the code:

Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_Gapps');
Zend_Loader::loadClass('Zend_Gdata_Feed');

//ClientLogin
function getClientLoginHttpClient($user, $pass)
{
 try{
       $service = Zend_Gdata_Gapps::AUTH_SERVICE_NAME;
       $client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);
       return $client;
 } catch (Zend_Gdata_App_AuthException $e) {

 }
}

$client = getClientLoginHttpClient($admin."@".$domain, $gappspass);
$gapps = new Zend_Gdata_Gapps($client, $domain);
$feed = $gapps->getUserFeed();
$previousLink = $feed->getLink("previous");
$nextLink = $feed->getLink("next");

foreach ($feed as $user) {
echo "<tr>";
echo "<td>".$user->login->username."</td>";
echo ""</tr>;
}
if ($previousLink !== null) {
 echo "previous url: " . $previousLink->href . "<br />";
 $previousFeed = $gapps->getUserFeed($previousLink->href);
}
if ($nextLink !== null) {
 echo "next url: " . $nextLink->href . "<br />";
 $nextFeed  = $gapps->getUserFeed($nextLink->href);
}

Where should I put '$feedWithNextPageOfEntries = $feed->getNextFeed();' ? or
how should I call it?.

Thanks in advance.
Hugo


Ryan Boyd (Google) wrote:
>
> You probably have an existing $feed variable with the feed of results.
>
> Try:$feedWithNextPageOfEntries = $feed->getNextFeed();
> If you have a $service and an existing $feed and want to retrieve ALL
> entries (can be expensive), you can do:
> $feedWithAllEntries = $service->retrieveAllEntriesForFeed($feed);
>
> Cheers,
> -Ryan
>
> On Tue, Oct 13, 2009 at 2:56 PM, Hugo León <[hidden email]> wrote:
>
>>
>> Hello everyone.
>> I'm trying to get all users of a Google Apps domain and does it well.
>> But when there are domains with more than 100 users appear only the first
>> 100, and with the function that comes into Zend website gives me the link
>>
>> https://apps-apis.google.com/a/feeds/domain.com/user/2.0?startUsername=username
>> ,
>> but obviously when I click on that link it does not work because I need
>> authorization via ClientLogin again. And what I want to do is that it
>> only
>> shows me the next 100 users.
>>
>> How can I do this?
>> Thanks in advance.
>>
>> Hugo
>> --
>> View this message in context:
>> http://www.nabble.com/Working-with-Multi-page-Feeds-Google-Provisioning-API-tp25881614p25881614.html
>> Sent from the Zend gdata mailing list archive at Nabble.com.
>>
>>
>
>

--
View this message in context: http://www.nabble.com/Working-with-Multi-page-Feeds-Google-Provisioning-API-tp25881614p26001897.html
Sent from the Zend gdata mailing list archive at Nabble.com.


Reply | Threaded
Open this post in threaded view
|

Re: Working with Multi-page Feeds Google Provisioning API

";
    echo "";
    echo "";  }
*  $feed = **$feed->getNextFeed();**
}

And what it does is that it shows all records of the feed exactly as retrieveAllEntriesForFeed() instruction. But what I want to do is break them into pages.

Are there some examples for this task?

Best regards.
Hugo

Ryan Boyd-3 wrote
When you echo out the previous and next URLs, what do you get?  You won't be
able to click on it and see it (because you wouldn't be sending the
appropriate auth credentials), but you should be able to retrieve that feed.

The following two blocks of code should be identical:
---
while ($feed !== null) {
  foreach ($feed as $user) {
    echo "
";
    echo "";
    echo "";  }
*  $feed = **$feed->getNextFeed();**
}*----
---
while ($feed !== null) {
  foreach ($feed as $user) {
    echo "";
    echo "";
    echo "";  }
*  $feed = **$feed->getUserFeed($nextLink);*
}----

On Wed, Oct 21, 2009 at 4:34 PM, Hugo León <hugolec@gmail.com> wrote:

>
> Hello Ryan.
>
> For now I'm getting in the same manner the feed to the next page, but the
> URL that I've got is
>
> https://apps-apis.google.com/a/feeds/domain.com/user/2.0?startUsername=username
> and when I click it can't see the next page of the feed.
>
> What I do not want to do is show all the entries because we have one GApps
> domain with about 2,000 users, just as you recommended me.
>
> Here is the code:
>
> Zend_Loader::loadClass('Zend_Gdata');
> Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
> Zend_Loader::loadClass('Zend_Gdata_Gapps');
> Zend_Loader::loadClass('Zend_Gdata_Feed');
>
> //ClientLogin
> function getClientLoginHttpClient($user, $pass)
> {
>  try{
>        $service = Zend_Gdata_Gapps::AUTH_SERVICE_NAME;
>        $client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass,
> $service);
>        return $client;
>  } catch (Zend_Gdata_App_AuthException $e) {
>
>  }
> }
>
> $client = getClientLoginHttpClient($admin."@".$domain, $gappspass);
> $gapps = new Zend_Gdata_Gapps($client, $domain);
> $feed = $gapps->getUserFeed();
> $previousLink = $feed->getLink("previous");
> $nextLink = $feed->getLink("next");
>
> foreach ($feed as $user) {
> echo "";
> echo "";
> echo "";
> }
> if ($previousLink !== null) {
>  echo "previous url: " . $previousLink->href . "<br />";
>  $previousFeed = $gapps->getUserFeed($previousLink->href);
> }
> if ($nextLink !== null) {
>  echo "next url: " . $nextLink->href . "<br />";
>  $nextFeed  = $gapps->getUserFeed($nextLink->href);
> }
>
> Where should I put '$feedWithNextPageOfEntries = $feed->getNextFeed();' ?
> or
> how should I call it?.
>
> Thanks in advance.
> Hugo
>
>
> Ryan Boyd (Google) wrote:
> >
> > You probably have an existing $feed variable with the feed of results.
> >
> > Try:$feedWithNextPageOfEntries = $feed->getNextFeed();
> > If you have a $service and an existing $feed and want to retrieve ALL
> > entries (can be expensive), you can do:
> > $feedWithAllEntries = $service->retrieveAllEntriesForFeed($feed);
> >
> > Cheers,
> > -Ryan
> >
> > On Tue, Oct 13, 2009 at 2:56 PM, Hugo León <hugolec@gmail.com> wrote:
> >
> >>
> >> Hello everyone.
> >> I'm trying to get all users of a Google Apps domain and does it well.
> >> But when there are domains with more than 100 users appear only the
> first
> >> 100, and with the function that comes into Zend website gives me the
> link
> >>
> >>
> https://apps-apis.google.com/a/feeds/domain.com/user/2.0?startUsername=username
> >> ,
> >> but obviously when I click on that link it does not work because I need
> >> authorization via ClientLogin again. And what I want to do is that it
> >> only
> >> shows me the next 100 users.
> >>
> >> How can I do this?
> >> Thanks in advance.
> >>
> >> Hugo
> >> --
> >> View this message in context:
> >>
> http://www.nabble.com/Working-with-Multi-page-Feeds-Google-Provisioning-API-tp25881614p25881614.html
> >> Sent from the Zend gdata mailing list archive at Nabble.com.
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Working-with-Multi-page-Feeds-Google-Provisioning-API-tp25881614p26001897.html
> Sent from the Zend gdata mailing list archive at Nabble.com.
>
>
Hugo León
Hello again Ryan.

I decided to leave this issue until the end because it was difficult to perform. I have now reached the point where this is the only thing missing to complete the system.

I did what you suggested:

while ($feed !== null) {
  foreach ($feed as $user) {
    echo "
".$user->login->username."
".$user->login->username."
".$user->login->usern"
".$user->login->username."
Reply | Threaded
Open this post in threaded view
|

Re: Working with Multi-page Feeds Google Provisioning API

Ryan Boyd-3


On Tue, Nov 17, 2009 at 1:30 PM, Hugo León <[hidden email]> wrote:

Hello again Ryan.

I decided to leave this issue until the end because it was difficult to
perform. I have now reached the point where this is the only thing missing
to complete the system.

I did what you suggested:

while ($feed !== null) {
 foreach ($feed as $user) {
   echo "<tr>";
   echo "<td>".$user->login->username."</td>";
   echo ""</tr>;  }
*  $feed = **$feed->getNextFeed();**
}

And what it does is that it shows all records of the feed exactly as
retrieveAllEntriesForFeed() instruction. But what I want to do is break them
into pages.

There's an atom:link element with a rel='next' that contains the link for the next step of results.  Instead of $feed->getNextFeed(), you can instead call $feed->getNextLink()->getHref(), which will be the URL for the next step of results.  You can see the format for the provisioning API-- it just uses the next username in the feed for paging.


Are there some examples for this task?

The closest examples are to retrieve 100 users starting at a particular username:

Of course, you'll need to know the next username-- though you could always use the last username you saw and then just ignore the first result.  However, I think the getNextLink method will work better.

Cheers,
-Ryan
 

Best regards.
Hugo


Ryan Boyd-3 wrote:
>
> When you echo out the previous and next URLs, what do you get?  You won't
> be
> able to click on it and see it (because you wouldn't be sending the
> appropriate auth credentials), but you should be able to retrieve that
> feed.
>
> The following two blocks of code should be identical:
> ---
> while ($feed !== null) {
>   foreach ($feed as $user) {
>     echo "<tr>";
>     echo "<td>".$user->login->username."</td>";
>     echo ""</tr>;  }
> *  $feed = **$feed->getNextFeed();**
> }*----
> ---
> while ($feed !== null) {
>   foreach ($feed as $user) {
>     echo "<tr>";
>     echo "<td>".$user->login->usern"</td>";
>     echo ""</tr>;  }
> *  $feed = **$feed->getUserFeed($nextLink);*
> }----
>
> On Wed, Oct 21, 2009 at 4:34 PM, Hugo León <[hidden email]> wrote:
>
>>
>> Hello Ryan.
>>
>> For now I'm getting in the same manner the feed to the next page, but the
>> URL that I've got is
>>
>> https://apps-apis.google.com/a/feeds/domain.com/user/2.0?startUsername=username
>> and when I click it can't see the next page of the feed.
>>
>> What I do not want to do is show all the entries because we have one
>> GApps
>> domain with about 2,000 users, just as you recommended me.
>>
>> Here is the code:
>>
>> Zend_Loader::loadClass('Zend_Gdata');
>> Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
>> Zend_Loader::loadClass('Zend_Gdata_Gapps');
>> Zend_Loader::loadClass('Zend_Gdata_Feed');
>>
>> //ClientLogin
>> function getClientLoginHttpClient($user, $pass)
>> {
>>  try{
>>        $service = Zend_Gdata_Gapps::AUTH_SERVICE_NAME;
>>        $client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass,
>> $service);
>>        return $client;
>>  } catch (Zend_Gdata_App_AuthException $e) {
>>
>>  }
>> }
>>
>> $client = getClientLoginHttpClient($admin."@".$domain, $gappspass);
>> $gapps = new Zend_Gdata_Gapps($client, $domain);
>> $feed = $gapps->getUserFeed();
>> $previousLink = $feed->getLink("previous");
>> $nextLink = $feed->getLink("next");
>>
>> foreach ($feed as $user) {
>> echo "<tr>";
>> echo "<td>".$user->login->username."</td>";
>> echo ""</tr>;
>> }
>> if ($previousLink !== null) {
>>  echo "previous url: " . $previousLink->href . "<br />";
>>  $previousFeed = $gapps->getUserFeed($previousLink->href);
>> }
>> if ($nextLink !== null) {
>>  echo "next url: " . $nextLink->href . "<br />";
>>  $nextFeed  = $gapps->getUserFeed($nextLink->href);
>> }
>>
>> Where should I put '$feedWithNextPageOfEntries = $feed->getNextFeed();' ?
>> or
>> how should I call it?.
>>
>> Thanks in advance.
>> Hugo
>>
>>
>> Ryan Boyd (Google) wrote:
>> >
>> > You probably have an existing $feed variable with the feed of results.
>> >
>> > Try:$feedWithNextPageOfEntries = $feed->getNextFeed();
>> > If you have a $service and an existing $feed and want to retrieve ALL
>> > entries (can be expensive), you can do:
>> > $feedWithAllEntries = $service->retrieveAllEntriesForFeed($feed);
>> >
>> > Cheers,
>> > -Ryan
>> >
>> > On Tue, Oct 13, 2009 at 2:56 PM, Hugo León <[hidden email]> wrote:
>> >
>> >>
>> >> Hello everyone.
>> >> I'm trying to get all users of a Google Apps domain and does it well.
>> >> But when there are domains with more than 100 users appear only the
>> first
>> >> 100, and with the function that comes into Zend website gives me the
>> link
>> >>
>> >>
>> https://apps-apis.google.com/a/feeds/domain.com/user/2.0?startUsername=username
>> >> ,
>> >> but obviously when I click on that link it does not work because I
>> need
>> >> authorization via ClientLogin again. And what I want to do is that it
>> >> only
>> >> shows me the next 100 users.
>> >>
>> >> How can I do this?
>> >> Thanks in advance.
>> >>
>> >> Hugo
>> >> --
>> >> View this message in context:
>> >>
>> http://www.nabble.com/Working-with-Multi-page-Feeds-Google-Provisioning-API-tp25881614p25881614.html
>> >> Sent from the Zend gdata mailing list archive at Nabble.com.
>> >>
>> >>
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Working-with-Multi-page-Feeds-Google-Provisioning-API-tp25881614p26001897.html
>> Sent from the Zend gdata mailing list archive at Nabble.com.
>>
>>
>
>

--
View this message in context: http://old.nabble.com/Working-with-Multi-page-Feeds-Google-Provisioning-API-tp25881614p26396478.html
Sent from the Zend gdata mailing list archive at Nabble.com.


Reply | Threaded
Open this post in threaded view
|

Re: Working with Multi-page Feeds Google Provisioning API

Ryan Boyd-3
Those were two different options (retrievePageOfUsers vs getNextLink).

So, now that you have the link, you'll retrieve that feed using:

Just pass in the URL into the first argument of that function and you should be all set.  

As to where to store the next URL in between requests, you can probably just put it as an escaped query parameter for the link that you display on your webpage.  This assumes only trusted users are able to access this web application.  Otherwise, you should probably do more to protect yourself from people modifying the URL on your webpage and passing in arbitrary URLs into getUserFeed (like do server-side validation that the format/domain/path of the URL is what you expect it to be)


Cheers,
-Ryan

On Tue, Nov 17, 2009 at 2:11 PM, Hugo Leon <[hidden email]> wrote:
Thanks for your quick response Ryan.

I got the link (this is the nextLink):
https://apps-apis.google.com/a/feeds/isseg.gob.mx/user/2.0?startUsername=egomezma

But where should I put the instruction $service->retrievePageOfUsers($startUsername=null)?

I need to click somewhere in the page so I can get the next 100 users.


while ($feed !== null) {
 foreach ($feed as $user) {
    $user->login->username;
 }
 $feed = **$feed->getNextFeed();**
}


Hugo



On Tue, Nov 17, 2009 at 3:39 PM, Ryan Boyd <[hidden email]> wrote:


On Tue, Nov 17, 2009 at 1:30 PM, Hugo León <[hidden email]> wrote:

Hello again Ryan.

I decided to leave this issue until the end because it was difficult to
perform. I have now reached the point where this is the only thing missing
to complete the system.

I did what you suggested:


while ($feed !== null) {
 foreach ($feed as $user) {
   echo "<tr>";
   echo "<td>".$user->login->username."</td>";
   echo ""</tr>;  }
*  $feed = **$feed->getNextFeed();**
}

And what it does is that it shows all records of the feed exactly as
retrieveAllEntriesForFeed() instruction. But what I want to do is break them
into pages.

There's an atom:link element with a rel='next' that contains the link for the next step of results.  Instead of $feed->getNextFeed(), you can instead call $feed->getNextLink()->getHref(), which will be the URL for the next step of results.  You can see the format for the provisioning API-- it just uses the next username in the feed for paging.


Are there some examples for this task?

The closest examples are to retrieve 100 users starting at a particular username:

Of course, you'll need to know the next username-- though you could always use the last username you saw and then just ignore the first result.  However, I think the getNextLink method will work better.

Cheers,
-Ryan
 

Best regards.
Hugo



Ryan Boyd-3 wrote:
>
> When you echo out the previous and next URLs, what do you get?  You won't
> be
> able to click on it and see it (because you wouldn't be sending the
> appropriate auth credentials), but you should be able to retrieve that
> feed.
>
> The following two blocks of code should be identical:
> ---
> while ($feed !== null) {
>   foreach ($feed as $user) {
>     echo "<tr>";
>     echo "<td>".$user->login->username."</td>";
>     echo ""</tr>;  }
> *  $feed = **$feed->getNextFeed();**
> }*----
> ---
> while ($feed !== null) {
>   foreach ($feed as $user) {
>     echo "<tr>";
>     echo "<td>".$user->login->usern"</td>";
>     echo ""</tr>;  }
> *  $feed = **$feed->getUserFeed($nextLink);*
> }----
>
> On Wed, Oct 21, 2009 at 4:34 PM, Hugo León <[hidden email]> wrote:
>
>>
>> Hello Ryan.
>>
>> For now I'm getting in the same manner the feed to the next page, but the
>> URL that I've got is
>>
>> https://apps-apis.google.com/a/feeds/domain.com/user/2.0?startUsername=username
>> and when I click it can't see the next page of the feed.
>>
>> What I do not want to do is show all the entries because we have one
>> GApps
>> domain with about 2,000 users, just as you recommended me.
>>
>> Here is the code:
>>
>> Zend_Loader::loadClass('Zend_Gdata');
>> Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
>> Zend_Loader::loadClass('Zend_Gdata_Gapps');
>> Zend_Loader::loadClass('Zend_Gdata_Feed');
>>
>> //ClientLogin
>> function getClientLoginHttpClient($user, $pass)
>> {
>>  try{
>>        $service = Zend_Gdata_Gapps::AUTH_SERVICE_NAME;
>>        $client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass,
>> $service);
>>        return $client;
>>  } catch (Zend_Gdata_App_AuthException $e) {
>>
>>  }
>> }
>>
>> $client = getClientLoginHttpClient($admin."@".$domain, $gappspass);
>> $gapps = new Zend_Gdata_Gapps($client, $domain);
>> $feed = $gapps->getUserFeed();
>> $previousLink = $feed->getLink("previous");
>> $nextLink = $feed->getLink("next");
>>
>> foreach ($feed as $user) {
>> echo "<tr>";
>> echo "<td>".$user->login->username."</td>";
>> echo ""</tr>;
>> }
>> if ($previousLink !== null) {
>>  echo "previous url: " . $previousLink->href . "<br />";
>>  $previousFeed = $gapps->getUserFeed($previousLink->href);
>> }
>> if ($nextLink !== null) {
>>  echo "next url: " . $nextLink->href . "<br />";
>>  $nextFeed  = $gapps->getUserFeed($nextLink->href);
>> }
>>
>> Where should I put '$feedWithNextPageOfEntries = $feed->getNextFeed();' ?
>> or
>> how should I call it?.
>>
>> Thanks in advance.
>> Hugo
>>
>>
>> Ryan Boyd (Google) wrote:
>> >
>> > You probably have an existing $feed variable with the feed of results.
>> >
>> > Try:$feedWithNextPageOfEntries = $feed->getNextFeed();
>> > If you have a $service and an existing $feed and want to retrieve ALL
>> > entries (can be expensive), you can do:
>> > $feedWithAllEntries = $service->retrieveAllEntriesForFeed($feed);
>> >
>> > Cheers,
>> > -Ryan
>> >
>> > On Tue, Oct 13, 2009 at 2:56 PM, Hugo León <[hidden email]> wrote:
>> >
>> >>
>> >> Hello everyone.
>> >> I'm trying to get all users of a Google Apps domain and does it well.
>> >> But when there are domains with more than 100 users appear only the
>> first
>> >> 100, and with the function that comes into Zend website gives me the
>> link
>> >>
>> >>
>> https://apps-apis.google.com/a/feeds/domain.com/user/2.0?startUsername=username
>> >> ,
>> >> but obviously when I click on that link it does not work because I
>> need
>> >> authorization via ClientLogin again. And what I want to do is that it
>> >> only
>> >> shows me the next 100 users.
>> >>
>> >> How can I do this?
>> >> Thanks in advance.
>> >>
>> >> Hugo
>> >> --
>> >> View this message in context:
>> >>
>> http://www.nabble.com/Working-with-Multi-page-Feeds-Google-Provisioning-API-tp25881614p25881614.html
>> >> Sent from the Zend gdata mailing list archive at Nabble.com.
>> >>
>> >>
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Working-with-Multi-page-Feeds-Google-Provisioning-API-tp25881614p26001897.html
>> Sent from the Zend gdata mailing list archive at Nabble.com.
>>
>>
>
>

--
View this message in context: http://old.nabble.com/Working-with-Multi-page-Feeds-Google-Provisioning-API-tp25881614p26396478.html
Sent from the Zend gdata mailing list archive at Nabble.com.