从IOS应用程序获取Facebook相册

我正尝试在iPhone应用程序中获取facebook用户的任何专辑。 这是我正在使用的fql查询

NSString *query = [NSString stringWithFormat:@"SELECT aid,object_id,owner FROM album WHERE owner=%d",fid]; 

其中fid是存储在intvariables中的有效Facebook UID

我得到的结果是一个0计数的NSArray

我究竟做错了什么?

按照第一个答案中的build议,我现在正在尝试使用这种方式的图表API:

 query = [NSString stringWithFormat:@"/%d/albums",fid]; [_facebook requestWithGraphPath:query andDelegate:self]; 

这次结果是一个带有“data”键的NSDictionary返回一个空的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"} } } 

任何想法?

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

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

这提供了方法requestWithGraphPath:andDelegate: 你需要的图表path是{user_id}/albums

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