1

我似乎找不到有关如何使用包含 fb 3.0 的 parse sdk 打开共享对话框的信息。我可以使用 facebook 登录,并且实际上找到了一种在没有对话框的情况下发布的方法,但仍然希望有对话框,以便人们可以添加评论,并且它与 facebook 上的图像一起出现。这就是我到目前为止所拥有的。@"publish_stream",@"publish_actions" 允许我在没有对话框的情况下发布

 logInController.facebookPermissions = [NSArray arrayWithObjects:@"user_about_me",@"friends_about_me",@"publish_stream",@"publish_actions", nil];

这是发布

PF_FBRequest *request = [PF_FBRequest requestForPostStatusUpdate:[self.Excerpt objectForKey:@"text"]];
                [request startWithCompletionHandler:^(PF_FBRequestConnection *connection, id result, NSError *error){
                    NSLog(@"error %@",error);

                }];

我找到了从 facebook 网站打开对话框的代码,但我不确定如何获取 PF_Facebook 对象的实例,以便我可以打开对话框。我可以尝试做

PF_Facebook *fb = [[PF_Facebook alloc]initWithAppId:<#(NSString *)#> andDelegate:<#(id<PF_FBSessionDelegate>)#>;

但这似乎不对,因为我已经在 appdelegate 中初始化了它

//更新我能够使用此代码获取对话框

NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   @"Facebook SDK for iOS", @"name",
                                   @"Build great social apps and get more installs.", @"caption",
                                   @"The Facebook SDK for iOS makes it easier and faster to develop Facebook integrated iOS apps.", @"description",
                                   @"https://developers.facebook.com/ios", @"link",
                                   @"https://raw.github.com/fbsamples/ios-3.x-howtos/master/Images/iossdk_logo.png", @"picture",
                                   nil];
    //publishes text on facebook
    PF_FBSession *session = [PFFacebookUtils session];

    PF_Facebook *fb = [[PF_Facebook alloc]initWithAppId:session.appID andDelegate:nil];
    [fb dialog:@"feed" andParams:params andDelegate:self];

但问题是该人在对话框中获得登录页面,即使他已经在应用程序中进行了身份验证

任何建议将不胜感激!谢谢你!

4

2 回答 2

5

要设置PF_Facebook对象,您还需要提供访问令牌和到期日期信息,如下所示:

PF_FBSession *session = [PFFacebookUtils session];  
PF_Facebook *facebook = [[PF_Facebook alloc] initWithAppId:session.appID 
                                               andDelegate:nil];

// Store the Facebook session information
facebook.accessToken = session.accessToken;
facebook.expirationDate = session.expirationDate;
于 2012-10-27T10:04:53.620 回答
4

无需创建新会话,您只需使用“facebook”类方法即可获取已配置的 PF_Facebook 对象

    PF_Facebook *facebook = [PFFacebookUtils facebook];
NSMutableDictionary *parameters = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"Check out this great app", @"message", nil]:

[facebook dialog:@"apprequests" andParams:parameters andDelegate:nil];
于 2012-10-28T09:36:50.313 回答