0

我正在将 facebook SDK 3.0 升级到 3.2。我已经通过 facebook SDK 3.2 完成了 facebook 登录,并且工作正常。我想执行 fql 来获取用户的相册。由于用户权限,以下代码适用于获取 facebook 照片,但不适用于相册。我对如何为 facebook sdk 3.2 设置“user_photos”权限感到震惊。有什么建议么?提前致谢。

NSString *query =
@"SELECT pid, src_small, src_big, src FROM photo WHERE aid IN "
@"SELECT aid FROM album WHERE owner = me() ORDER BY created DESC LIMIT 50";

NSDictionary *queryParam =
[NSDictionary dictionaryWithObjectsAndKeys:query, @"q", nil];

[FBRequestConnection startWithGraphPath:@"/fql"
                             parameters:queryParam
                             HTTPMethod:@"GET"
                      completionHandler:^(FBRequestConnection *connection,
                                          id result,
                                          NSError *error) {
                          if (error) {
                              NSLog(@"Error: %@", [error localizedDescription]);
                          } else {
                              NSLog(@"Result: %@", result);
                          }
                      }];
4

1 回答 1

1

您是说上面的代码适用于获取照片,这意味着您已经拥有获取用户相册所需的“user_photos”权限(两者的权限相同,请参阅Graph API 文档)。

如果确实如此,您可以使用以下查询轻松获取专辑:

SELECT aid, name, link, cover_pid 
FROM album 
WHERE owner = me() 

否则,如果您确实缺少权限,则意味着您也无法获取用户的照片。在这种情况下,您必须要求用户重新授权相关权限。您可以FBSession使用新权限调用常规授权方法,它会提示用户。

无论如何,我建议您使用Graph API Explorer来测试您的 FQL 查询,它将帮助您轻松识别问题所在。

于 2013-03-12T16:12:45.767 回答