在android应用程序中从facebook检索用户的家乡

时间:2011-07-14 11:24:07

标签: android facebook

我正在尝试学习将facebook集成到您的应用程序中的方式。

所以,直到现在我才发现如何检索用户的姓名或性别,但我无法找到他的家乡。

我是这样做的:

 mRequestButton = (Button) findViewById(R.id.requestButton);

 mRequestButton.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                mAsyncRunner.request("me", new SampleRequestListener());
            }
        });



 public class SampleRequestListener extends BaseRequestListener {
             ..........


    JSONObject json = Util.parseJson(response);
    final String name = json.getString("name");
    final String locale=json.getString("locale");
            ..........
           }

现在我能够找到namelocale,但当我确实试图找到家乡时:

  final String hometown=json.getString("hometown");

这个字符串是空的....有谁知道如何找到家乡的正确方法???在这里:https://developers.facebook.com/docs/reference/api/user/它说找到家乡我需要权限....我如何获得这些权限???谁能告诉我并发布几行代码?谢谢你!

3 个答案:

答案 0 :(得分:1)

家乡是另一个包含2个字符串ID和名称的JSONObject,因此您要提取名为“hometown”的JSONObject,然后使用json.getString("name");来提取家乡的名称。

示例:

public class SampleRequestListener extends BaseRequestListener {
         ..........

JSONObject json = Util.parseJson(response);
final String name = json.getString("name");
final String locale=json.getString("locale");

JSONObject hometown = json.getJSONObject("hometown");
final String town = hometown.getString("name");


        ..........
       }

答案 1 :(得分:0)

为什么不输出JSON文件并查看公开的数据?

答案 2 :(得分:0)

你在创建facebook对象时试过这个吗?我认为,通过权限,他们意味着该文档页面上的权限列中的字段需要进入此处:

facebook.authorize(this, new String[] { "user_hometown" },