我无法获取用户的姓氏。我可以得到第一个名字。 但是个人资料[" 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"]);
}
答案 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;
}