All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.quhaodian.user.oauth.impl.WeiBoHander Maven / Gradle / Ivy

There is a newer version: 1.8.31
Show newest version
package com.quhaodian.user.oauth.impl;

import com.google.gson.Gson;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
import com.quhaodian.user.oauth.api.OauthHandler;
import com.quhaodian.user.oauth.domain.OauthResponse;
import com.quhaodian.user.oauth.domain.TokenResponse;
import com.quhaodian.user.oauth.domain.WeiboUser;
import com.quhaodian.utils.http.Connection;
import com.quhaodian.utils.http.HttpConnection;
import java.io.IOException;

public class WeiBoHander implements OauthHandler {
  @Override
  public void setKey(String key) {

  }

  @Override
  public void setSecret(String secret) {

  }

  @Override
  public OauthResponse login(String access_token, String openid) {
    OauthResponse result = null;

    try {
      Connection con = HttpConnection.connect("https://api.weibo.com/2/account/get_uid.json");
      con.data("access_token", access_token);
      con.header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0");
      String backjson = null;
      backjson = con.execute().body();
      JsonParser parser = new JsonParser();
      JsonElement e = parser.parse(backjson);
      String uid = e.getAsJsonObject().get("uid").getAsString();

      Connection infocon = HttpConnection.connect("https://api.weibo.com/2/users/show.json");
      infocon.data("access_token", access_token);
      infocon.data("uid", uid);
      infocon.header("User-Agent",
          "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0");
      String uifos = infocon.execute().body();
      Gson gson = new Gson();
      result = gson.fromJson(uifos, WeiboUser.class);
    } catch (IOException e) {
      e.printStackTrace();
    }


    return result;
  }

  @Override
  public TokenResponse getToken(String code) {
    return null;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy