这是一种解决方法,如果您不害怕使用某些处理能力,并且您正在尝试查找标记用户的朋友,您可以查询他们的流:
NSString* fql = [NSString stringWithFormat:
@"SELECT source_id, attachment FROM stream WHERE source_id IN (SELECT uid2 FROM friend WHERE uid1 =%@ limit %d", yourUserID, limitInt];
NSDictionary* params = [NSDictionary dictionaryWithObject:fql forKey:@"query"];
[[FBRequest requestWithDelegate:self] call:@"facebook.fql.query" params:params];
然后,在附件的“name”属性中搜索文章标题,或者在href属性中搜索指向注释的超链接。
如果需要他们的名字,可以进行多查询:
NSString* fql = [NSString stringWithFormat:@"\"friendStreams\":\"SELECT source_id, attachment FROM stream WHERE source_id IN (SELECT uid2 FROM friend WHERE uid1 =%@ limit %d\",\"userNames\":\"SELECT name, uid FROM user WHERE uid IN (SELECT source_id FROM #friendStreams)\"", yourUserID, limitInt];
NSDictionary* params = [NSDictionary dictionaryWithObject:fql forKey:@"queries"];
//NSLog(@"creating request delegate");
[[FBRequest requestWithDelegate:self] call:@"facebook.fql.multiquery" params:params];
不幸的是,据我所知,没有办法搜索查询中的附件。
当然,这种方法也会让那些在墙上分享笔记的朋友们…您可以通过限制创建的时间属性来解决这个问题。我不确定这一点,但似乎如果你在笔记的创建处被标记,那么故事会在实际笔记被张贴到创建者的墙上之前在你的墙上稍微显示出来:对于测试笔记,我做了,笔记在1279919730被张贴到创建者的墙上,关于被标记者的墙上的笔记的故事是在1279919725被创建的。也许这有帮助。