我正在尝试学习将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");
..........
}
现在我能够找到name
和locale
,但当我确实试图找到家乡时:
final String hometown=json.getString("hometown");
这个字符串是空的....有谁知道如何找到家乡的正确方法???在这里:https://developers.facebook.com/docs/reference/api/user/它说找到家乡我需要权限....我如何获得这些权限???谁能告诉我并发布几行代码?谢谢你!
答案 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" },