【问题标题】:I am trying to retrieve the details (first Name, last name, gender etc) of friend of face book using facebook id [closed]我正在尝试使用 facebook id 检索 Facebook 朋友的详细信息(名字、姓氏、性别等)[关闭]
【发布时间】:2011-05-24 09:23:01
【问题描述】:

我的代码是:-

try
    {
        params.putString("fields", "first_name");
        params.putString("fields", "last_name");
        params.putString("fields", "link");
        params.putString("fields", "gender");
        params.putString("fields", "birthday");

        JSONObject json = new JSONObject(facebook.request(Id, params));
        JSONArray array =   json.getJSONArray("data");
        if(array != null)
        {
            for(int i=0;i<array.length();i++)
            {
                String name = array.getJSONObject(i).getString("name");
                String birthday = array.getJSONObject(i).getString("friends_birthday");
                String location = array.getJSONObject(i).getString("friends_location");
                String web = array.getJSONObject(i).getString("friends_website");

                System.out.println(name+"-"+birthday+"-"+location+"-"+web);
            }
        }

    }
    catch(Exception e)
    {

    }     

我在哪里犯了错误。请帮我。提前致谢

【问题讨论】:

  • 你的错误?实际上:没有告诉我们,当你运行你的代码时会发生什么;)
  • 最好尽快删除您的最后一条评论!该链接包含一些您不应该泄露的数据。最好将 get 的(已清理的)结果添加到您的问题中
  • 我无法检索所需的属性,但是这些甚至没有给出任何错误但也不会在终端中打印结果
  • 尝试打印数组长度可能是0,因此它可能不会进入循环

标签: java android json facebook


【解决方案1】:

我们可以获取用户好友的详细信息 捆绑参数 = 新捆绑(); String accessToken = facebook.getAccessToken();

    try
    {
            params.putString("format", "json");
            params.putString("access_token", accessToken);

            String url = "https://graph.facebook.com/"+Id;
            String response = Util.openUrl(url, "GET", params);

            JSONObject json = Util.parseJson(response);
            String fname = json.getString("first_name");
            String lname = json.getString("last_name");
            String birthday = json.getString("birthday");
            String gender = json.getString("gender");
            String location = json.getString("locale");
            String web = json.getString("link");

}
catch(Exception e)
{

}     

【讨论】:

    【解决方案2】:

    如果您不告诉我们您正在尝试对您的代码做什么以及它出了什么问题,那么很难为您提供帮助。

    但是,通过查看您的代码,我会告诉您确认您以正确的方式放置所需的字段。如果 params 像哈希表一样工作,那么您将覆盖关键“字段”的值 - 因此,您将只询问生日,而不是询问 first_name、last_name 等。

    【讨论】:

    • 我正在尝试检索名字和姓氏以及生日......但在终端中没有显示任何结果,除了包含值的所需结果 ID 的 url
    • System.out.println 是否被调用过?正在打印什么?
    • System.out.println 中没有打印任何内容
    • 所以您的问题似乎是“数组”为空或为空(检查是这种情况),这让我认为问题出在您对 facebook 的查询中。您在 facebook.request(Id) 中传递的 ID 是什么?还要检查 json 对象(也许尝试打印它) - 你想要的数据可能不在“数据”下
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-04
    • 2014-01-07
    • 1970-01-01
    • 2018-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多