我与facebook同步了我的地址簿,现在可以通过我的地址簿访问我的Facebook个人资料。 我想阅读从另一个应用程序连接到该帐户的Facebook数据,并获取同步用户的Facebook ID。
我在ContactContracts.Data表中找不到包含与facebook相关的内容的mimetype或数据字段。 anybode成功完成了吗?
似乎facebook以某种方式限制了对此数据的权限。这是如何完成的,我需要哪些权限才能访问在地址簿中同步的facebook联系信息?
答案 0 :(得分:3)
如果用户在他们的联系人中有该信息,那么他们也是Facebook上该人的朋友。只需使用图形api并获取朋友列表并使用所选联系人名称对其进行过滤,或者让用户从列表视图中进行选择,该列表视图是根据返回的facebook api查询名称制作的。
try {
JSONObject response = Util.parseJson(facebook.request(
"/me/friends", new Bundle(), "GET"));
JSONArray jArray = response.getJSONArray("data");
for (int i = 0; i < jArray.length(); i++) {
JSONObject json_data = jArray.getJSONObject(i);
tempMap = new HashMap<String, Object>();
tempMap.put("friend", json_data.getString("name"));
tempMap.put("id", json_data.getString("id"));
friendlist.add(tempMap);
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (FacebookError e) {
e.printStackTrace();
}
答案 1 :(得分:0)
您还可以考虑使用gigya.com提供的API和android SDK(我过去工作到最近)。
答案 2 :(得分:0)
直到现在,由于谷歌为Facebook应用程序制作的exception,似乎无法对官方API进行此操作。我希望facebook在下一版本中符合官方Android API。