我正在尝试在iPhone应用中获取任何facebook用户专辑。 这是我正在使用的fql查询
NSString *query = [NSString stringWithFormat:@"SELECT aid,object_id,owner FROM album WHERE owner=%d",fid];
其中fid是存储在int变量
中的有效facebook uid我得到的结果是一个{0}计数的NSArray
类
我做错了什么?
按照第一个答案的建议,我现在用这种方式尝试图形api:
query = [NSString stringWithFormat:@"/%d/albums",fid];
[_facebook requestWithGraphPath:query andDelegate:self];
这次结果是NSDictionary
,其中“data”键返回空NSArray
。
无论如何,三次尝试以这种方式检索相册列表我也得到一个错误,我在控制台中打印出来(本地而不是错误描述):
localized error : The operation couldn’t be completed. (facebookErrDomain error 10000.)
rror : Error Domain=facebookErrDomain Code=10000 "The operation couldn’t be completed. (facebookErrDomain error 10000.)" UserInfo=0x18b5b0 {error=<CFBasicHash 0x176050 [0x3e2169fc]>{type = mutable dict, count = 2,
entries =>
2 : <CFString 0x18ccc0 [0x3e2169fc]>{contents = "type"} = <CFString 0x18c990 [0x3e2169fc]>{contents = "OAuthException"}
3 : <CFString 0x190a90 [0x3e2169fc]>{contents = "message"} = <CFString 0x18c0d0 [0x3e2169fc]>{contents = "(#803) Some of the aliases you requested do not exist: 2147483647"}
}
}
有什么想法吗?
答案 0 :(得分:3)
您的身份验证令牌是否有权查看该用户的相册?否则我不确定。
您可以考虑使用Graph API而不是FQL。在iOS上,您可以使用Facebook的库(可用here)。
这提供了方法requestWithGraphPath:andDelegate:
。您需要的图表路径为{user_id}/albums
。
您的结果将返回给委托方法request:didLoad:
,但可以帮助您解决问题的主要优势是可选的委托方法request:didFailWithError:
。当出现错误时,这提供了比空数组更多的信息。