Эта проблема уже давно меня беспокоит, но я думаю, что сломал гайку.
Идентификатор альбома скрыт в значении ссылки, поэтому, если у вас есть объект пост-фотографии из Graph API, вы можете получить идентификатор альбома следующим образом:
NSString *link = [item valueForKey:@"link"];
NSString *album_id = nil;
NSRange fRange = [link rangeOfString:@"set=a."];
if(fRange.location != NSNotFound) {
NSInteger firstPos = fRange.location + 6;
NSInteger endPos = [link rangeOfString:@"." options:NSLiteralSearch range:NSMakeRange(firstPos, 25)].location;
album_id = [[link substringWithRange:NSMakeRange(firstPos, endPos - firstPos)] copy];
}
Вероятно, все это можно сократить до одной строки кода, но я думаю, что это более читабельно.
Для получения информации об альбоме используйте:
[facebook requestWithGraphPath:album_id andDelegate:delegate];
Для получения всех фотографий в альбоме используйте:
[facebook requestWithGraphPath:[NSString stringWithFormat:@"%@/photos", album_id] andDelegate:delegate];
Надеюсь, это кому-нибудь поможет.