Нет клиентской библиотеки. Вы можете получить контакты в два этапа:
Шаг 1:
Получение «СИМВОЛ» и «токена,» от пользователя, используя OAuth1. Некоторые библиотеки: scribe и signpost.
Шаг 2:
После получения этих маркеров вы должны получить Yahoo ID пользователя.
Пример: (я использую для этого указатель)
OAuthConsumer consumer = new DefaultOAuthConsumer('YOUR CLIENT ID', 'YOUR CLIENT SECRET');
URL url = new URL("http://social.yahooapis.com/v1/me/guid?format=json");
HttpURLConnection request1 = (HttpURLConnection) url.openConnection();
consumer.setTokenWithSecret('TOKEN', 'TOKEN SECRET');
consumer.sign(request1);
request1.connect();
String responseBody = convertStreamToString(request1.getInputStream());
После этого, вы должны использовать Yahoo ID пользователя извлеченного от пользователя, чтобы получить контакты пользователя.
Пример:
OAuthConsumer consumer = new DefaultOAuthConsumer('YOUR CLIENT ID', 'YOUR CLIENT SECRET');
URL url = new URL("http://social.yahooapis.com/v1/user/YAHOO_USER_ID/contacts?format=json");
HttpURLConnection request1 = (HttpURLConnection) url.openConnection();
consumer.setTokenWithSecret('TOKEN', 'TOKEN SECRET');
consumer.sign(request1);
request1.connect();
String responseBody = convertStreamToString(request1.getInputStream());
Способ преобразования потока, используемого выше:
public static String convertStreamToString(InputStream is) throws UnsupportedEncodingException {
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"utf-8"));
StringBuilder sb = new StringBuilder();
String line = null;
try {
while ((line = reader.readLine()) != null) {
sb.append(line).append("\n");
}
} catch (IOException e) {
} finally {
try {
is.close();
} catch (IOException e) {
}
}
return sb.toString();
}
Кажется дубликат http://stackoverflow.com/questions/397933/taking-contact-list-from- hotmail-gmail-yahoo-in-java – MansoorShaikh
Я ищу клиентскую библиотеку, например google имеет Gdata. –