Facebook安装参数不返回数据

时间:2013-05-09 05:30:58

标签: iphone ios objective-c xcode facebook

我正在尝试确定我的Facebook朋友当前正在使用我的应用。据我所知,一般的智慧是使用图形api,并在获取朋友列表时发送'installed'参数。这对我来说似乎没有用,我想知道我哪里出错了。这是我的代码:

首先,权限生效:

_facebookPermissions = @[@"publish_stream", @"read_stream", @"friends_photos", @"user_photos"];

现在SLRequest及其设置:

NSString *username = [[NSUserDefaults standardUserDefaults] objectForKey:@"fbUserID"];
    NSString *urlString = [NSString stringWithFormat:@"https://graph.facebook.com/%@/friends", username];

    NSURL *friendsList = [NSURL URLWithString:urlString];
    NSDictionary *friendsListParameters = @{@"fields": @"id,name,picture,installed"};

    SLRequest *getFriends = [SLRequest requestForServiceType:SLServiceTypeFacebook requestMethod:SLRequestMethodGET URL:friendsList parameters:friendsListParameters];

现在示例结果:

{
            id = 10000123456911;
            name = "Don Dobrian";
            picture =             {
                data =                 {
                    "is_silhouette" = 0;
                    url = "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-ash3/41664_100001237218111_2269_q.jpg";
                };
            };
        },

正如您所看到的,权限几乎可以让我获得所有内容。但是没有迹象表明“安装”参数甚至被注意到了。所以这是我的问题,其中任何一个的答案都可以解决我的问题:

  1. 这是这样做的吗?您使用什么权限来获取“已安装”状态?
  2. 有没有更好的方法来使用iOS社交框架获取此信息?

1 个答案:

答案 0 :(得分:1)

碰巧,李明的评估已经死了。仅当朋友安装了应用程序时才返回该参数。每个例子:

},
                {
            id = 12645478730;
            installed = 1;
            name = "Edwin Robertson";
            picture =             {
                data =                 {
                    "is_silhouette" = 0;
                    url = "https://fbcdn-profile-a.akamaihd.net/...";
                };
            };
        },
                {
            id = 12645478730;
            name = "Greg Walker";
            picture =             {
                data =                 {
                    "is_silhouette" = 0;
                    url = "https://fbcdn-profile-a.akamaihd.net...";
                };
            };
        },

奇怪的是,我确信这在几个月前我上次工作时没有按预期工作。也许FB默默地修复了某些东西,也许我的测试用户遇到了一些问题,也许我只是在隧道视野中看到我面前的修复。谁知道。但是如果您按照上面的方法操作,应该获得此结果。祝你好运!