3

Yahoo! をインポートする方法に関するライブラリまたは少なくともいくつかのドキュメントまたは例はありますか? Java と OAuth を使用した連絡先ですか?

私のウェブサイトでは、yahooの連絡先を表示/取得する必要があります(oauthを使用)

例はありますか。

4

1 に答える 1

1

クライアント ライブラリはありません。次の 2 つの手順で連絡先を取得できます。

ステップ1:

OAuth1 を使用して、user の「TOKEN」と「TOKEN SECRET」を取得します。一部のライブラリは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();
}
于 2013-09-17T09:59:22.880 に答える