Как получить идентификатор пользователя от пользователя через API ContactsContracts? - PullRequest
5 голосов
/ 20 декабря 2010

Я синхронизировал свою адресную книгу с Facebook и теперь могу получить доступ к своему профилю Facebook через мою адресную книгу.Я хочу прочитать данные facebook, которые связаны с учетной записью из другого приложения, и получить идентификатор Facebook синхронизированного пользователя.

Я не могу найти mimetype или поле данных в таблице ContactContracts.Data, которая содержит что-то, связанное с facebook.Кто-нибудь сделал это успешно?

Кажется, что facebook каким-то образом ограничивает права доступа к этим данным.Как это сделать и какие разрешения мне нужны для доступа к контактной информации Facebook, которая синхронизируется в адресной книге?

Ответы [ 3 ]

3 голосов
/ 20 января 2011

Если у пользователя есть эта информация в его контактах, то он также дружит с этим человеком на Facebook.Просто используйте график api, получите список друзей и отфильтруйте их с выбранным именем контакта, или позвольте пользователю выбрать из списка, который сделан из возвращенных имен запроса API 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();
}
0 голосов
/ 28 февраля 2011

Похоже, что это невозможно для официального API до сих пор из-за этого исключения , которое было сделано для приложения facebook от Google.Я надеюсь, что Facebook в следующих версиях соответствует официальному API Android.

0 голосов
/ 26 января 2011

Вы также можете рассмотреть возможность работы с API и Android SDK , предлагаемыми gigya.com (где я работал до недавнего времени).

...