团结得到姓氏

时间:2014-03-08 11:13:06

标签: facebook get unity3d facebook-unity-sdk

我无法获取用户的姓氏。我可以得到第一个名字。 但是个人资料[" last_name"]和个人资料["名称"]对我来说不起作用。

请帮忙!

void APICallback(FBResult result)
{
    //FbDebug.Log("APICallback");
    if (result.Error != null)
    {
        // Let's just try again
        FB.API("/me?fields=id,first_name,last_name,friends.limit(100).fields(first_name,last_name,id)", Facebook.HttpMethod.GET, APICallback);
        return;
    }

    profile = Util.DeserializeJSONProfile(result.Text);
    name = profile["first_name"];
    fullname = string.Format("{0} {1}", profile["first_name"], profile["last_name"]);
}

1 个答案:

答案 0 :(得分:1)

您可能正在使用Facebook Unity SDK示例代码 - Util.cs。在代码中, Util.DeserializeJSONProfile会返回仅包含first_name的字典。

您可以通过以下方式修复此功能:

public static Dictionary<string, string> DeserializeJSONProfile(string response)
{
    var responseObject = Json.Deserialize(response) as Dictionary<string, object>;
    object nameH;
    var profile = new Dictionary<string, string>();
    if (responseObject.TryGetValue("first_name", out nameH))
    {
        profile["first_name"] = (string)nameH;
    }
    if (responseObject.TryGetValue("last_name", out nameH))
    {
        profile["last_name"] = (string)nameH;
    }
    return profile;
}