[英]Getting null values in FB request response dictionary
我正在嘗試使用以下代碼在登錄的Facebook帳戶中獲取專輯的所有列表...但是不幸的是,我根本無法獲得任何列表,結果是dictionary..is
{
data = (
);
}
任何想法我在下面的代碼中做錯了什么...
FBRequest* friendsRequest = [FBRequest requestForGraphPath:@"me/albums"];
[friendsRequest startWithCompletionHandler: ^(FBRequestConnection*connection,NSDictionary* result,NSError *error) {
if(!error)
{
NSLog(@"%@",result);
//NSArray *albums;
}
這是完整的方法
- (BOOL)retrieveFacebookPhotosWithCompletionBlock:(void (^)(NSArray *, NSError *))completionBlock
{
//FBSession *activeFBSession=[FBSession activeSession];
//activeFBSession.state;
[FBSession openActiveSessionWithReadPermissions:nil
allowLoginUI:YES
completionHandler:^(FBSession *session,
FBSessionState state,
NSError *error) {
if (error) {
NSLog(@"Error");
} else if (session.isOpen) {
[[FBRequest requestForMe] startWithCompletionHandler: ^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error) {
if (error) {
//error
completionBlock(nil, error);
}else{
FBRequest* friendsRequest = [FBRequest requestForGraphPath:@"me/albums"];
[friendsRequest startWithCompletionHandler: ^(FBRequestConnection *connection,NSDictionary* result,NSError *error) {
if(error)
completionBlock(nil, error);
else
{
NSLog(@"%@",result);
//NSArray *albums;
}
}];
}
}];
}
}];
return YES;
}
您需要獲得“ user_photos”的許可才能獲取相冊。
當我在沒有權限的情況下嘗試它時,我收到的回復與您相同。 使用圖譜API資源管理器
當我獲得具有權限的新access_token時,我從api中收到了正確的響應。
要訪問照片,您需要在打開Facebook user_photos
權限。嘗試更改代碼,如下所示。
[FBSession openActiveSessionWithReadPermissions:
[NSArray arrayWithObjects:@"user_photos",nil] allowLoginUI:YES
completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
//YOUR CODE
}];
是的,這是因為您具有授予的權限。如上所述,您必須授予通過鍵user_photos訪問照片的權限。 您可以參考facebook SDk提供的示例項目以獲取更多密鑰和每個產品提供的特定權限。也可以參考facebook開發者頁面。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.