错误(com.facebook.sdk错误5.)在ios中

时间:2013-10-05 08:11:52

标签: iphone ios objective-c facebook facebook-graph-api

在我的项目中,我不发布任何只从FaceBook获取不同数据的内容。

有时我得到的数据但是 大部分时间我都会收到此错误

无法完成操作。 (com.facebook.sdk错误5.)

我的小代码是

permissions = [[NSArray alloc] initWithObjects:@"user_friends",@"read_stream",
@"read_requests",@"user_birthday",@"user_about_me",@"user_hometown",
@"user_location",@"user_likes",@"email",
               nil];


[FBSession openActiveSessionWithReadPermissions:permissions
                                   allowLoginUI:YES
                              completionHandler:
 ^(FBSession *session,
   FBSessionState state, NSError *error) {
NSString *queryNew55 = @"SELECT post_id,fromid,time FROM comment WHERE time > 1375553100 AND post_id IN (SELECT post_id FROM stream WHERE source_id = me())";

     // Set up the query parameter
     NSDictionary *queryParam15 = @{ @"q": queryNew55 };
     // Make the API request that uses FQL
     [FBRequestConnection startWithGraphPath:@"/fql"
                                  parameters:queryParam15
                                  HTTPMethod:@"GET"
                           completionHandler:^(FBRequestConnection *connection,
                                               id result,
                                               NSError *error) {
                               if (error) {
                                   NSLog(@"Error in comment query");
                                   NSLog(@"Error: %@", [error localizedDescription]);
                               } else {

                                   NSLog(@"comments Result: %@", result);


                               }

                           }
      ];

 }];  

我在谷歌上看到了很多关于同一错误的事情 而且我也应用了这个,但nothings永久地工作。

FaceBook应用程序中的

沙盒模式等所有东西都关闭,捆绑ID完全设置。

任何帮助,如链接或代码或与此相关的任何内容都将是很好的帮助。

1 个答案:

答案 0 :(得分:3)

我知道这个问题已经过时了,但我的回答可能对其他人有所帮助。

我在完成了一些代码/教程/文档之后遇到了这个错误。

他们的文档和一些示例代码之间似乎存在脱节。

使用

if (FBSession.activeSession.state != FBSessionStateCreated) {
        // Create a new, logged out session.
        self.facebookSession = [[FBSession alloc] init];
    }

[self.facebookSession openWithCompletionHandler:^(FBSession *session,
                                                     FBSessionState status,
                                                     NSError *error) {

不会导致会话在

中更新
FBSession.activeSession 

获得更新。

所以你将有一个开放的会话(self.facebookSession)和一个被打开的会话和TokenLoaded - 这个会话没有打开。

所以拨打任何电话:

[FBRequestConnection startForMeWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
由于FBRequestConnection使用FBSession.activeSession

将失败

因此,在完成处理程序中,如果您要自行管理会话,则可以看到活动会话。

[self.facebookSession openWithCompletionHandler:^(FBSession *session,
                                                     FBSessionState status,
                                                     NSError *error) {

        [FBSession setActiveSession:session];
        // post or load user data.
    }];

现在似乎对我有用,

希望这会有所帮助