gpt4 book ai didi

ios - Facebook SDK收集用户信息和好友

转载 作者:可可西里 更新时间:2023-11-01 05:45:32 24 4
gpt4 key购买 nike

我正在尝试使用 Facebook SDK 来收集用户信息和好友。理想情况下,我想使用 FBRequest 而不是 FBConnectionRequest。正如 Facebook Developer 页面上的详细信息,它说使用 FBRequest 进行多个信息请求,并仅使用 Connection。

An FBRequest object may be reused to issue multiple connections to Facebook. However each FBRequestConnection instance will manage one connection.

Source

我目前已按如下方式设置 FBRequestConnection,它工作正常:

[FBRequestConnection startForMeWithCompletionHandler:^(FBRequestConnection *connection, id<FBGraphUser> user, NSError *error) 

我想要实现的是收集用户信息,如姓名、用户名和电子邮件地址等(这与上述工作正常,我已经处理了 session /具有对此的权限。

现在我需要更改连接,使其成为 FBRequest,这样我就可以使用以下委托(delegate)方法:

- (void)request:(FBRequest *)request didLoad:(id)result {

然后在委托(delegate)方法中,我将调用第二个 requestForMyFriends 并在一个方法中处理大量信息。我创建的请求是在我的登录 block 中完成的,就是这样:

    FBRequest *request = [FBRequest requestForGraphPath:@"me/?fields=name,picture"];
[request startWithCompletionHandler:NULL];

首先,这是解决这个问题的正确方法吗?

其次,当它到达 FBRequest 时我收到一个错误,所以这里一定有问题,但我不确定哪里不正确。我无法在 Facebook 上找到更多信息,但如果有人可以使用此方法为我指明教程的正确方向,那也会有所帮助。

编辑——错误 enter image description here

编辑 2 -- 附加代码示例

// TODO : logging can be turned off/removed
[FBSettings setLoggingBehavior:[NSSet setWithObjects:FBLoggingBehaviorFBRequests, nil]];

NSDictionary *params = @{ @"fields" : @[ @"name", @"picture" ] };
FBRequest *request = [FBRequest requestWithGraphPath:@"me"
parameters:params
HTTPMethod:nil]; //nil will default on GET
[request startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {}];

最佳答案

您收到一个 EXC_BAD_ACCESS 错误,因为您不能将一个空的完成处理程序 block 传递给该方法。

下面的代码已经过测试,可以按预期工作。

FBRequest *request = [FBRequest requestForGraphPath:@"me/?fields=name,picture"];
[request startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
NSLog(@"%@", result);
}];

关于ios - Facebook SDK收集用户信息和好友,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15623536/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com