【问题标题】:How to get share dialog box with parse.com and facebook 3.0 sdk如何使用 parse.com 和 facebook 3.0 sdk 获取共享对话框
【发布时间】:2012-09-11 00:46:38
【问题描述】:

我似乎找不到有关如何使用包含 fb 3.0 的 parse sdk 打开共享对话框的信息。我可以使用 facebook 登录,并且实际上找到了一种在没有对话框的情况下发布的方法,但仍然希望有对话框,以便人们可以添加 cmets,它会在 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];

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

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

【问题讨论】:

    标签: objective-c ios facebook share parse-platform


    【解决方案1】:

    要设置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;
    

    【讨论】:

      【解决方案2】:

      您可以使用“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];
      

      【讨论】:

      • 这对你们还有用吗?我发现无论会话和权限处于什么状态,我最终都会被要求通过请求对话框重新登录。使用 Marcus 的方法,我可以避免提示,但最终会出现“错误 10”、“未使用单点登录获得访问令牌”。我正在使用 Parse API 的 v1.1.29。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-14
      • 1970-01-01
      • 2015-06-13
      相关资源
      最近更新 更多