在 iOS 的原生邀请对话框中列出所有 Facebook 好友

Posted

技术标签:

【中文标题】在 iOS 的原生邀请对话框中列出所有 Facebook 好友【英文标题】:List out all Facebook friends in native invite dialogbox in iOS 【发布时间】:2015-01-02 08:34:27 【问题描述】:

我正在尝试在 ios 中邀请 Facebook 朋友。成功我也得到了输出。我也附上了那个输出图像。

我的问题是,在这里我可以看到建议的朋友列表,而不是显示我的所有朋友。但是当我在搜索栏中搜索任何朋友时,它会显示该搜索列表。我的代码是,

 NSString *MY_URL = [NSString stringWithFormat:@"xxxxxxxxxx://host"];
    NSMutableDictionary* params = [NSMutableDictionary dictionaryWithCapacity:0];
    [params setObject:@"Hi, Check out this app, You'll love it!" forKey:@"message"];
    [params setObject:MY_URL forKey:@"link"];

    [FBWebDialogs presentRequestsDialogModallyWithSession:FBSession.activeSession
                                                  message:@"Friends Invite"
                                                    title:@"xxxxxxxx"
                                               parameters:params handler:
     ^(FBWebDialogResult result, NSURL *resultURL, NSError *error)
     
         if (!error) 
             NSLog(@"Url : %@",resultURL);
             NSLog(@"Result : %u",result);
             NSDictionary *urlParams = [self parseURLParams:[resultURL query]];
             if (![urlParams valueForKey:@"request"]) 
                 // User clicked the Cancel button
                 NSLog(@"User canceled request.");
              else 
                 // User clicked the Send button
                 NSString *requestID = [urlParams valueForKey:@"request"];
                 NSLog(@"Request ID: %@", requestID);
             
         
         else
         
             NSLog(@"Error : %@",[error localizedDescription]);
         

     ];

我的意思是如何在这个邀请列表中显示我所有的朋友。

【问题讨论】:

【参考方案1】:

对于 2014 年 4 月之后注册的 Facebook 应用,除非您正在实施游戏/画布应用,否则您无法访问所有朋友。 (如果是这种情况,您将需要使用 invitable_friends 端点)

否则,很遗憾,您将只能访问已登录您的应用的用户 Facebook 好友。

注意:即使您的应用是在 2014 年 4 月之前创建的,所有朋友在 2015 年 4 月之后都将无用。

For more info in facebook developer

New features available in v2.0 Taggable Friends API: We've added a new endpoint called /me/taggable_friends that you can use in order to generate stories that have friends tagged in them, even those friends don't use your app. If you want to use the taggable friends API, your app will require review. Invitable Friends API: We've added a new endpoint called /me/invitable_friends that you can use to generate a list of friends for someone to invite to your game through a custom interface. This API is only available to apps that are games on Facebook Canvas.

【讨论】:

以上是关于在 iOS 的原生邀请对话框中列出所有 Facebook 好友的主要内容,如果未能解决你的问题,请参考以下文章

Facebook 邀请分享对话框未打开 iOS Swift

从 iOS 而不是 FbAppName 发送的 Facebook 原生共享对话框?

Google Play 游戏服务的邀请对话框未显示任何朋友

邀请 Facebook 朋友加入我的 iOS 应用程序,该应用程序不是具有自定义 UI 的游戏

iOS Facebook 原生分享对话框:初始文本

FBSDKAppInviteDialog 总是启动浏览器