As an update to this. I just tried setting my max results to 4000 (instead of 100) and it appears to have worked. But I was under the impression setting it to a smaller number was fine.
On Sep 17, 2:54 pm, Jason <[email protected]> wrote: > I'm having an issue with the gData Contact APIs in Objective C on an > iPhone app. I only recently updated from the original Contact APIs to > v3.0. When doing so, the contact fetch is now returning different > results for one of the users (it still works correctly for others) of > our software. I am doing a Full Feed contact fetch. After the fetch > completes and the GDataFeedContact object is returned, if I call > > [object totalResults]; > > on that object I get the total number of contacts. in this case > 3900+. This number is correct. If I then call > > [[object entries] count]; > > on that object, I only get a count of 2700. With the old API, the > entry count was the same as the totalResults count (I have a copy of > the project using the old APIs and have confirmed this). So with the > new APIs I am missing over 1200 contacts for some reason. And none of > my code has changed. I've looked at the changes and checked the > migration requirements for the new API, but I have not seen anything > related to this. I am relatively new to Objective C and iPhone > development, so I could have easily missed/overlooked something. Is > there a change I need to make for contact fetching? Here is my > relevant code: > > Helper method to create a service: > > + (GDataServiceGoogleContact *)gDataContactService { > > static GDataServiceGoogleContact* service = nil; > > if (!service) { > service = [[GDataServiceGoogleContact alloc] init]; > > [service setUserAgent:@"FBA.net-ContactSync"]; > [service setShouldCacheDatedData:YES]; > [service setServiceShouldFollowNextLinks:YES]; > } > > UserSettings* userSettings = [StaticDB getCurrentUserSettings]; > > // update the username/password each time the service is requested > [service setUserCredentialsWithUsername:[userSettings email] > > password:[userSettings password]]; > [service setCaptchaToken:NULL captchaAnswer:NULL]; > > [service setShouldServiceFeedsIgnoreUnknowns:YES]; > > return service; > > } > > Main fetch method: > > - (void)fetchContacts:(GDataDateTime*)gMailServerTime { > [UIApplication sharedApplication].networkActivityIndicatorVisible = > TRUE; > > lblStatus.text = NSLocalizedString > (@"SyncViewController1_DownloadingGmailContacts", @""); > [self setContactFeed:NULL]; > > GDataServiceGoogleContact *service = [ContactHelper > gDataContactService]; > GDataServiceTicket *ticket; > > // request a whole buncha contacts; our service object is set to > // follow next links as well in case there are more than > kFBAGDataQueryMaxResults > NSURL *feedURL = [NSURL > URLWithString:kGDataGoogleContactDefaultFullFeed]; > > GDataQueryContact *query = [GDataQueryContact > contactQueryWithFeedURL:feedURL]; > [query setMaxResults:kFBAGDataQueryMaxResults]; > > NSDate* updatedMinTime = NULL; > > if ( [mCurrentUserSettings googleNextFeedTimeToFetchFrom] ) { > updatedMinTime = [mCurrentUserSettings > googleNextFeedTimeToFetchFrom]; > } else { > updatedMinTime = [[mCurrentUserSettings > googleLastProcessedFeedTime] > addTimeInterval:-180]; > } > > if ( gMailServerTime && updatedMinTime && > [[gMailServerTime date] timeIntervalSinceDate:updatedMinTime] > < > kFBAMaximumSecondsBetweenSyncsForLastModified ) { > [query setShouldShowDeleted:TRUE]; > > [query setUpdatedMinDateTime:[GDataDateTime > dateTimeWithDate:updatedMinTime timeZone:[NSTimeZone > timeZoneWithName:@"Universal"]]]; > mIsProcessingAllGmailContacts = FALSE; > } else { > [query setShouldShowDeleted:FALSE]; > mIsProcessingAllGmailContacts = TRUE; > } > > ticket = [service fetchContactQuery:query > delegate:self > didFinishSelector:@selector > (contactsFetchTicket:finishedWithFeed:) > didFailSelector:@selector > (contactsFetchTicket:failedWithError:)]; > > } > > If you need to see any other method calls, let me know. But it seems > almost like 2700 is a cap of some kind being hit on the number of > contacts return. We have max results set to 100 with the service set > to follow next links, so as I understand it, it should handle all the > contacts.. > > Thanks, > Jason --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Contacts API" 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-contacts-api?hl=en -~----------~----~----~----~------~----~------~--~---
