Ios FacebookFQL事件查询总是为同一事件提供不同的eid
我正在使用FQL multiquery获取用户事件Ios FacebookFQL事件查询总是为同一事件提供不同的eid,ios,facebook-graph-api,facebook-fql,Ios,Facebook Graph Api,Facebook Fql,我正在使用FQL multiquery获取用户事件 NSString *eventQuery1 = @"SELECT name, start_time, end_time, location, description, venue, host, eid, privacy FROM event WHERE eid IN ( SELECT eid FROM event_member WHERE uid = me() AND rsvp_status='attending' )"; NSString *
NSString *eventQuery1 = @"SELECT name, start_time, end_time, location, description, venue, host, eid, privacy FROM event WHERE eid IN ( SELECT eid FROM event_member WHERE uid = me() AND rsvp_status='attending' )";
NSString *eventQuery2 = @"SELECT name, start_time, end_time, location, description, venue, host, eid, privacy FROM event WHERE eid IN ( SELECT eid FROM event_member WHERE uid = me() AND rsvp_status='maybe' )";
NSString *eventQuery3 = @"SELECT name, start_time, end_time, location, description, venue, host, eid, privacy FROM event WHERE eid IN ( SELECT eid FROM event_member WHERE uid = me() AND rsvp_status='declined' )";
NSString *eventQuery4 = @"SELECT name, start_time, end_time, location, description, venue, host, eid, privacy FROM event WHERE eid IN ( SELECT eid FROM event_member WHERE uid = me() AND rsvp_status='not_replied' )";
NSString* fql = [NSString stringWithFormat:
@"{\"attending\":\"%@\",\"maybe\":\"%@\",\"declined\":\"%@\",\"not_replied\":\"%@\"}",eventQuery1, eventQuery2, eventQuery3, eventQuery4];
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObject:fql forKey:@"queries"];
[_facebook requestWithMethodName:@"fql.multiquery" andParams:params andHttpMethod:@"GET" andDelegate:self];
当我获取事件时,我将它们存储到核心数据中。稍后,当我需要获取事件的图像等信息时,我使用“eid”获取事件的图像。然而,我注意到这些“eid”字段与Facebook图形调用返回的字段不匹配。在这个图中,我获取事件的id,然后用它来获取事件图像
"id": "281780925236476",
我的问题是:如何使用FQL获取graph API返回的唯一事件id?或者,我可以使用图形API调用来获得与FQL查询相同的结果:所有事件可能与批处理调用和所有事件字段相同。例如,对/events的图形API查询不会返回事件的描述
我正在尝试最小化来自iOS应用程序的HTTP调用量,使用FQL查询似乎是最好的方法。如果可以获得相同的结果,我更愿意使用GraphAPI
谢谢你回答我自己的问题。尚未检查,但似乎我有一个太累的错误:当将eid转换为字符串时,我在内部使用该字符串作为id类型,因为图形API返回字符串,我在将eid转换为字符串时使用了%d。正确的方法是使用[[result objectForKey:@eid]stringValue];