首页 文章

iOS SDK Mutual Friends Facebook API v2.0

提问于
浏览
2

我目前正在使用Facebook iOS SDK v3.16,它使用Graph API 2.0 . 我的电话看起来像这样:

NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
                        @"context.fields(mutual_friends)", @"fields",
                        nil
                        ];
[FBRequestConnection startWithGraphPath:[NSString stringWithFormat:@"/%@", object[@"profile"][@"facebookId"]]
                             parameters:params
                             HTTPMethod:@"GET"
                      completionHandler:^(
                                          FBRequestConnection *connection,
                                          id result,
                                          NSError *error
                                          ) {
                          cell.text3.text = [NSString stringWithFormat:@"Mutual Users: %lu", [result[@"context"][@"mutual_friends"][@"data"] count]];
                      }];

object[@"profile"][@"facebookId"] 是应用的范围ID .

此调用的预期行为是返回当前用户和请求的用户之间的共同朋友的数量 . 但事实是,共同的朋友数几乎总是0(由于某种原因,在几个案例中它是2,但它实际上应该更高) .

奇怪的部分是错误对象从来没有任何东西,结果对象只是零 . 我不太确定如何继续,因为没有返回结果但应该有,但它没有给我一个错误 .

2 回答

  • 1

    在swift 3.0中找到一个有效的代码
    Note: 使用此服务提交给Facebook审核

    FBSDKGraphRequest(graphPath: fbTokenID, parameters: ["fields": "context.fields(mutual_friends.limit(8))"]).start(completionHandler: { (connection, result, error) -> Void in
                if (error == nil){
    
                    print("//////Mutual friends")
                    print(result!)
    
                } else {
                    print(error!.localizedDescription)
                }
            })
    

    //你也可以通过添加“限制”来限制共同朋友的结果

  • 0

    在swift 3.0中

    FBSDKGraphRequest(graphPath:"/me/taggable_friends", parameters:["fields":"user_id,first_name,last_name,name,picture.type(large)"],httpMethod: "GET")
                    //["fields": "id, name, first_name, last_name, picture.type(large), email"])
                    .start(completionHandler: { (connection,result, error) -> Void in
                    if (error == nil)
                    {
                        print("Friends are: \(result)")
                        let jsonResult = result as! Dictionary<String,AnyObject>
                        self.dict = jsonResult["data"] as! [AnyObject]
    
                        for item in self.dict
                        {
                           // let id = item["id"] as! String
                            let name = item["name"] as! String
                            self.FBNameArray.append(name)
                            print("FBname: \(self.FBNameArray)")
                            let picture = item["picture"] as! NSDictionary
                            let parsePic = picture["data"] as! NSDictionary
                            let url = parsePic["url"] as! String
                            self.FBImageArray.append(url)
                            print("FBimage: \(self.FBImageArray)")
                            self.TblView.reloadData()
                        }
    
                    }
    
                })
    

相关问题