从IOS应用程序中获取Facebook专辑

时间:2011-10-14 18:56:48

标签: iphone objective-c ios facebook

我正在尝试在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"}
}
} 

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您的身份验证令牌是否有权查看该用户的相册?否则我不确定。

您可以考虑使用Graph API而不是FQL。在iOS上,您可以使用Facebook的库(可用here)。

这提供了方法requestWithGraphPath:andDelegate:。您需要的图表路径为{user_id}/albums

您的结果将返回给委托方法request:didLoad:,但可以帮助您解决问题的主要优势是可选的委托方法request:didFailWithError:。当出现错误时,这提供了比空数组更多的信息。