5

我将我的地址簿与 facebook 同步,现在可以通过我的地址簿访问我的 facebook 个人资料。我想从另一个应用程序读取连接到帐户的 facebook 数据并获取同步用户的 facebook id。

我在 ContactContracts.Data 表中找不到包含与 facebook 相关的内容的 mimetype 或数据字段。有没有人成功做到这一点?

似乎 facebook 以某种方式限制了对这些数据的权限。这是如何完成的,我需要哪些权限才能访问地址簿中同步的 facebook 联系信息?

4

3 回答 3

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();
}
于 2011-01-20T12:48:14.217 回答
0

You can also consider working with the APIs and android SDK offered by gigya.com (where I used to work until recently).

于 2011-01-26T10:43:16.277 回答
0

由于谷歌为 facebook 应用程序制作的这个异常,直到现在这似乎对官方 API 来说是不可能的。我希望 facebook 在其下一个版本中符合官方的 android API。

于 2011-02-28T13:50:30.670 回答