I have found a solution that works for me.
I simply retrieve all users from Google, compare them to users stored
in my database and decide if there are manually created/updated/
deleted users.
I use a trick to retrieve users quite fast - 40 seconds for 10.700
users.
In case anyone is interested, I have described my approach here:
http://groups.google.com/group/google-apps-apis/browse_thread/thread/28a8d9a39f96c178

Regards,
George

On Sep 17, 9:40 am, George <[EMAIL PROTECTED]> wrote:
> Thank you for your reply.
> I have already tried multi-threading. It speeds things up a little but
> not that much. Moreover, you cannot speed up retrieval of accounts,
> because pages must be retrieved sequentially or all at once.
> Maybe I will create my own web application for administrators, which
> will allow them to do the same tasks through provisioning API and
> write correct information to my database too.
>
> Regards,
> George
>
> On Sep 16, 7:07 pm, "Julian (Google)" <[EMAIL PROTECTED]> wrote:
>
> > Hi,
>
> > Unfortunately for Google Apps APIs we do not offer this possibility
> > using the Provisioning API. But, to speed up synchronization, you
> > could try multi-threading, 10 or 15 threads max should help speeding
> > things up.
>
> > I also recommend using the Reporting API, the Accounts Report can
> > retrieve the list of all user of a domain faster than the Provisioning
> > API, just take into account that reports have 1 or 2 days of delay
> > depending on the time of the query:
>
> >http://code.google.com/apis/apps/reporting/google_apps_reporting_api....
>
> > Cheers,
> > Julian.
>
> > On Sep 15, 4:31 pm, George <[EMAIL PROTECTED]> wrote:
>
> > > Hi all,
>
> > > is there a way to get Google users from our domain that were created/
> > > modifed/deleted since some configurable time using .NET provisioning
> > > API?
>
> > > It seems that UserQuery object ignores "updated-min" query parameter
> > > (StartDate property from FeedQuery) and does not put it in calculated
> > > URI.
>
> > > I tried to create my own class, which inherits from UserQuery and
> > > overrides CalculateQuery() method. It correctly calculates request URI
> > > - e.g.:
> > > "https://www.google.com/a/feeds/ourdomain/user/2.0?updated-
> > > min=2008-09-13T00:00:00+02:00".
> > > But when I submit it, I receive:
> > > HTTP status code: 403 (Forbidden)
> > > Message: "This service does not support the &#39;updated-min&#39;
> > > parameter."
>
> > > From what I can read 
> > > herehttp://code.google.com/apis/gdata/reference.html#Queries
> > > it seems that user service does not support such query parameter.
>
> > > I have also tried to use iModifiedSince argument of Query() method of
> > > UserService object e.g.:
> > > userService.Query(userQuery.Uri, new DateTime(2008, 8, 13, 0, 0, 0));
> > > which sends HTTP request with If-Modified-Since header, but I get
> > > NotModified HTTP status code.
>
> > > Is there a way how to accomplish this?
>
> > > I have a database containing information about Google users in our
> > > domain, who were created automatically by my synchronization code. The
> > > code synchronizes Google users with other systems. It works great,
> > > however I would like to be able to support manual changes made by
> > > administrators through Google admin web pages i.e. I would like to
> > > recognize manually created/modified/deleted Google users and
> > > synchronize them with my database, so it stays in sync with Google's
> > > current state. And I do not want to retrieve all users in domain,
> > > because it is very very slow (we have 10.000+ users currently). Is it
> > > possible to retrieve changed users only?
>
> > > Thank you,
> > > George
>
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Apps APIs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-apps-apis?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to