从IResult Facebook SDK,7.2.0获取文本

时间:2015-10-21 03:39:26

标签: facebook text facebook-unity-sdk

我正在尝试获取播放器的用户名,然后显示它。

最近,有一个突破性的变化;替代FBResult的IResult。

我能够从IGraphResult而不是FBResult返回一个纹理来显示个人资料图片,所以我希望Text也可以使用但是没有。

所以我的问题是,我在哪里可以返回文本? 我是否必须向IGraphResult添加任何内容?

这是代码,

void DealWithUserName(FBResult result)
{
    if(result.Error != null)
    {
        Debug.Log ("Problems with getting profile picture");

        FB.API ("/me?fields=id,first_name", HttpMethod.GET, DealWithUserName);
        return;
    }

    profile = Util.DeserializeJSONProfile(result.Text);

    Text UserMsg = UIFBUsername.GetComponent<Text>();

    UserMsg.text = "Hello, " + profile["first_name"];

}

编辑: 好的,我做到了。 看来我也可以从IGraphResult获取用户名。 所以,我把FBResult改成了IGraphResult。 我将result.Text更改为result.RawResult。

这是代码,适用于任何需要它的人。

void DealWithUserName(IGraphResult result)
{
    if(result.Error != null)
    {
        Debug.Log ("Problems with getting profile picture");

        FB.API ("/me?fields=id,first_name", HttpMethod.GET, DealWithUserName);
        return;
    }

    profile = Util.DeserializeJSONProfile(result.RawResult);

    Text UserMsg = UIFBUsername.GetComponent<Text>();

    UserMsg.text = "Hello, " + profile["first_name"];

}

1 个答案:

答案 0 :(得分:0)

我们试试吧

private void DealWithUserName(IGraphResult result){
    if (result.ResultDictionary != null) {
        foreach (string key in result.ResultDictionary.Keys) {
            Debug.Log(key + " : " + result.ResultDictionary[key].ToString());
            // first_name : Chris
            // id : 12345678901234567
        }
    }
    Text UserName = UIUserName.GetComponent<Text>();
    UserName.text = "Hello, "+ result.ResultDictionary["name"].ToString();
}