【问题标题】:How to use facebook pagination in ios如何在ios中使用facebook分页
【发布时间】:2018-02-17 09:01:24
【问题描述】:

您好,我最近开始为 iOS 编写代码。我正在尝试使用以下代码从 facebook 获取视频。

-(void)facebookGetVideos:(UIViewController*)vc completionHandler:(void (^)(NSMutableArray*))completionBlock{
   __block NSMutableArray * itemArray;
    FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]

                                  initWithGraphPath:@"me/videos/uploaded"

                                  parameters:@{@"fields":@"source,description,thumbnail,title"}

                                  HTTPMethod:@"GET"];

    [request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                          id result,

                                          NSError *error) {
        if(error!=nil){
             NSLog(@"Error after fb dwnld %@",error);
            [MBProgressHUD hideHUDForView:vc.view animated:true];
            [self showAlert:@"Error" message:error.localizedDescription viewController:vc];
        }else{

            NSLog(@"Results %@",result);
             itemArray = [[NSMutableArray  alloc]init];
           // [itemArray addObject:[result valueForKey:@"data"]];
            itemArray =[result valueForKey:@"data"];

             completionBlock(itemArray);
        }
    }];

}

我从那里得到的回应如下:-

{
    data =     (
                {
            id = 1845903302379295;
            source = "https://video.xx.fbcdn.net/v/t43.1792-2/27475816_220074475216744_8742438766032977920_n.mp4?efg=eyJybHIiOjE1MDAsInJsYSI6MTAyNCwidmVuY29kZV90YWciOiJzdmVfaGQifQ%3D%3D&rl=1500&vabr=382&oh=d4c3f6028a979c5919fdd8e444e24179&oe=5A89882A";
        },
                {
            id = 1814936632142629;
            source = "https://video.xx.fbcdn.net/v/t42.14539-2/23925286_2650490725061654_2502749796398268416_n.mp4?efg=eyJybHIiOjU3NiwicmxhIjo1MTIsInZlbmNvZGVfdGFnIjoic2QifQ%3D%3D&rl=576&vabr=320&oh=2fde1aea6eff33d8139ccb8fe7a33fd4&oe=5A8980C0";
        }
    );
    paging =     {
        cursors =         {
            after = MTgxNDkzNjYzMjE0MjYyOQZDZD;
            before = MTg0NTkwMzMwMjM3OTI5NQZDZD;
        };
    };
}

我试图在之前使用它作为参数如下:-

-(void)afterValues:(NSString*)afterVal{


    NSDictionary * parameters =@{@"fields":@"source",@"after": afterVal};
    FBSDKGraphRequest *request1 = [[FBSDKGraphRequest alloc]
                                   initWithGraphPath:@"me/videos/uploaded"
                                   parameters:parameters
                                   HTTPMethod:@"GET"];
    [request1 startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                           id result,
                                           NSError *error) {

        NSLog(@"after videos%@",result);


    }];
}

并得到以下响应:-

after videos{
    data =     (
    );
}

任何人都可以指出我的错误。在此方向上的任何帮助/建议或指导将不胜感激。提前致谢!

【问题讨论】:

    标签: ios objective-c pagination facebook-graph-api-v2.0 cursors


    【解决方案1】:

    您是否通过登录对话框向相应用户请求了 manage_pages 权限?我认为由于缺少权限,您会看到一个空结果。

    【讨论】:

    • 是的。@[@"public_profile",@"email",@"user_photos",@"user_videos"]。这些是我获得的权限。
    • 是的,但您可以添加类似 loginButton.publishPermissions = @[@"manage_pages"];
    • 先生,当我尝试添加 @"manage_pages" 权限时,它崩溃并说“读写权限不能一起使用”。您能帮我解决这个问题并说明这两个权限如何可以一起吃吗?
    猜你喜欢
    • 2012-09-11
    • 2015-08-14
    • 2016-12-05
    • 2021-06-05
    • 1970-01-01
    • 2012-12-03
    • 2012-12-14
    • 2014-11-13
    • 1970-01-01
    相关资源
    最近更新 更多