是否有关于如何导入 Yahoo! 的任何库或至少一些文档或示例?使用 java 和 OAuth 的联系人?
在我的网站中,我需要显示/获取雅虎联系人(使用 oauth)
有没有例子。
没有客户端库。您可以通过两个步骤检索联系人:
步骤1:
使用 OAuth1 获取用户的 'TOKEN' 和 'TOKEN SECRET'。一些图书馆是抄写员和路标。
第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();
}