我希望有人能幫我解決這個問題。我正嘗試從我的iPhone應用程序訪問Picasa網絡相冊。我以前在Google Calendar中使用過GData,並且事先獲取了與之相關的事件和數據,因此我以類似的方式設置了我的方法。然而,我正在逐漸被告訴我的錯誤以下GData Picasa相冊iPhone
serviceBase:<GDataServiceGooglePhotos: 0x4d4e6d0> objectFetcher:<GDataHTTPFetcher: 0xbaa35c0> failedWithStatus:400 data:Too many results requested
我想我已經縮小下來,我有事做與票,我使用,在下面的問題line
ticket = [service fetchFeedWithURL:[NSURL URLWithString:kGDataGooglePhotosAllFeed]
delegate:self
didFinishSelector:@selector(photosListTicket:finishedWithFeed:error:)];
但是我無法克服這個問題。有沒有人有建議來解決這個問題。難道我做錯了什麼?
我的檢索圖片的完整代碼如下所示。任何說picAlbum的地方,這是一個預定義的NSArray來保存信息。
- (GDataServiceGooglePhotos *)photoService {
static GDataServiceGooglePhotos* service = nil;
if (!service) {
service = [[GDataServiceGooglePhotos alloc] init];
[service setShouldCacheDatedData:YES];
[service setServiceShouldFollowNextLinks:YES];
}
[service setUserCredentialsWithUsername:@"username"
password:@"password"];
return service;
}
-(void)loadGooglePhotos {
[self fetchAllPhotos];
}
-(void)fetchAllPhotos {
NSLog(@"In fetchAllPhotos");
GDataServiceGooglePhotos *service = [self photoService];
GDataServiceTicket *ticket;
ticket = [service fetchFeedWithURL:[NSURL URLWithString:kGDataGooglePhotosKindAlbum]
delegate:self
didFinishSelector:@selector(photosListTicket:finishedWithFeed:error:)];
}
- (void)photosListTicket:(GDataServiceTicket *)ticket finishedWithFeed:(GDataFeedPhotoAlbum *)feed error:(NSError *)error {
NSLog(@"In photosListTicket");
NSArray *photos = [feed entries];
if ([photos count] != 0){
self.picAlbum = [photos objectAtIndex:0];
NSLog(@"fetching photos");
[self fetchPhotos];
}
else {
NSLog(@"User has no photos...");
}
}
- (void)fetchPhotos {
NSLog(@"In fetchPhotos");
if (self.picAlbum) {
NSURL *feedURL = [[self.picAlbum alternateLink] URL];
if (feedURL) {
NSLog(feedURL);
GDataQueryGooglePhotos *query = [GDataQueryGooglePhotos photoQueryWithFeedURL:feedURL];
[query setMaxResults:1000];
GDataServiceGooglePhotos *service = [self photoService];
GDataServiceTicket *ticket;
ticket = [service fetchFeedWithQuery:query delegate:self didFinishSelector:@selector(photosEventsTicket:finishedWithFeed:error:)];
}
}
}
- (void)photosEventsTicket:(GDataServiceTicket *)ticket finishedWithFeed:(GDataFeedPhotoAlbum *)feed error:(NSError *)error {
NSLog(@"In photosEventsTicket");
NSArray *photos = [feed entries];
NSLog([NSString stringWithFormat:@"%i",[photos count]]);
}
預先感謝任何信息或幫助,您可以提供。
我仍然無法從相冊中獲取照片內容和所有內容,但我確實通過太多的請求來解決整個問題。事實證明,我使用的網址是訪問全球Picasa上的所有提要。所以這會解釋太多的結果。我能夠做的是使用不同的方法來獲得一個網址,我發現後經過一番搜索 NSURL * feedURL = [GDataServiceGooglePhotos photoFeedURLForUserID:@「username」albumID:nil albumName:@「album name」photoID:nil kind :無存取:無]; – MZimmerman6