FBSDKGraphRequest响应问题 – 没有得分

我正在使用以下代码来获取我的Facebook朋友的游戏分数。

-(void)GetFriendScore { NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys: [NSString stringWithFormat:@"%@", [FBSDKAccessToken currentAccessToken]], @"access_token", nil]; FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:@"/me/scores" parameters:params HTTPMethod:@"GET"]; [request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { }]; } 

并在随后的合作中得到了答复

 { data = ( { user = { id = XYZ; name = "XYZ"; }; } ); 

}

但这不是预期的回应。 我期待的甲方正在跟随

 { data = ( { application = { category = Games; id = XYZ; link = "https://www.facebook.com/games/?app_id=XYZ"; name = "XYZ"; }; score = 2907; user = { id = XYZ; name = "XYZ"; }; } ); 

}

任何人都可以请帮助我得到正确的答复?

看起来你正在使用Graph API v2.4。 这样,你必须指定你想要返回的每个字段。 看到我的答案在这里类似的问题:

  • 使用GET方法的图表API分数不能返回分数字段

您需要申请/{app_id}/scores?fields=user,application,score而不是/me/scores?fields=user,application,score我猜如果您还想查看朋友的分数

看到

或者,

 /me?fields=scores{user,application,score},friends{scores{user,application,score}‌​} 

应该也能工作

通过使用下面的代码解决。

 FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:@"/me/scores?fields=user,application,score" parameters:params HTTPMethod:@"GET"]; 

我们如何可以在android.i中做同样的问题在Android我使用下面的代码

 request = new Request(Session.getActiveSession(), "/ "+"FB_ID"+"/scores?fields=user,application,score", param , HttpMethod.GET); if(request!=null) { request.setCallback(new Request.Callback() { public void onCompleted(Response response) { if(response!=null) { GraphObject graphObject = response.getGraphObject(); if(graphObject==null) { //getting graphObject NULL } } } } } 

如何解决这个问题

 param.putString("fields", "user,application,score"); request = new Request(Session.getActiveSession(), "/me/scores", param , HttpMethod.GET); if(request!=null) { request.setCallback(new Request.Callback() { public void onCompleted(Response response) { if(response!=null) { GraphObject graphObject = response.getGraphObject(); if(graphObject==null) { //Enjoy } } } } }