"发生错误" facebook登录ios应用程序

时间:2015-03-19 18:22:22

标签: ios facebook

我整合了facebook sdk在facebook上发布的东西。它只用于单个facebook-id,用于将facebook集成到我的应用程序中,而不是为其他人工作。 这是我的代码

-(IBAction)postOnFacebook:(id)sender {
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"Sharing Tutorial", @"name",@"Build great social apps and get more installs.", @"caption",                                @"Allow your users to share stories on Facebook from your app using the iOS SDK.", @"description",@"https://developers.facebook.com/docs/ios/share/", @"link",@"http://i.imgur.com/g3Qc1HN.png", @"picture",nil];

// Show the feed dialog
[FBWebDialogs presentFeedDialogModallyWithSession:nil
                                       parameters:params
                                          handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error) {
                                              if (error) {
                                                  // An error occurred, we need to handle the error
                                                  // See: https://developers.facebook.com/docs/ios/errors
                                                  NSLog(@"Error publishing story: %@", error.description);
                                              } else {
                                                  if (result == FBWebDialogResultDialogNotCompleted) {
                                                      // User cancelled.
                                                      NSLog(@"User cancelled.");
                                                  } else {
                                                      // Handle the publish feed callback
                                                      NSDictionary *urlParams = [self parseURLParams:[resultURL query]];

                                                      if (![urlParams valueForKey:@"post_id"]) {
                                                          // User cancelled.
                                                          NSLog(@"User cancelled.");

                                                      } else {
                                                          // User clicked the Share button
                                                          NSString *result = [NSString stringWithFormat: @"Posted story, id: %@", [urlParams valueForKey:@"post_id"]];
                                                          NSLog(@"result %@", result);
                                                      }
                                                  }
                                              }
                                          }];

}


// A function for parsing URL parameters returned by the Feed Dialog.
- (NSDictionary*)parseURLParams:(NSString *)query {
NSArray *pairs = [query componentsSeparatedByString:@"&"];
NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
for (NSString *pair in pairs) {
    NSArray *kv = [pair componentsSeparatedByString:@"="];
    NSString *val =
    [kv[1] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    params[kv[0]] = val;
}
return params;
}
这个方法 当我使用另一个id进行登录时出现错误

Error come when other facebook id use

2 个答案:

答案 0 :(得分:2)

您正在使用publish_action权限,只有在获得Facebook批准后,才能使所有用户都可以使用该权限。

目前,您可能已经在自己的帐户中创建了Facebook应用,并且凭借该帐户ID,您就可以发布到Facebook。这是因为facebook为在App Dashboard中添加为开发人员/测试人员的用户提供了所有权限。

您可以按照以下步骤将人员添加到您的应用中作为测试人员/开发人员

您需要成为管理员才能在您的网页上为某人提供角色。如果这个人是你的Facebook好友:

Go to your Page and tap More.
Tap Edit Settings > Page Roles.
Tap Add Person to Page. You may need to enter your password to continue.
Begin typing a friend's name and tap their name from the list that appears.
Tap to choose a role > Add.

如果此人不是您的Facebook好友,您可以从计算机登录Facebook并通过输入他们的电子邮件地址添加它们。

根据他们的设置,当您授予他们角色时,此人可能会收到通知或电子邮件。

添加的这些用户将拥有您要求的所有权限。

如果您希望每个人都可以使用这些权限,那么您的Facebook应用应该获得批准,因此您必须将您的应用提交到Facebook进行审核。可以从以下链接找到facebook app submision的指南  https://developers.facebook.com/docs/apps/review

希望这有助于你

答案 1 :(得分:1)

我不确定我是否理解你的问题。 但是,对于我所看到的。如果您在Facebook上创建了应用程序(与您的iOS应用程序集成),则必须使用仅在Facebook上显示的Facebook应用程序ID。

或者,如果此错误是因为您尝试使用其他Facebook帐户登录。发生这种情况可能是因为您还没有发布您的应用程序(Facebook应用程序)。所以每个人都无法使用它,但它可以,因为你可能不想让它现在可用。因此,您只需要在Facebook应用页面的Roles左侧菜单中添加测试用户(您尝试登录的帐户)或以管理员身份添加。