当前位置: 代码迷 >> Android >> android新浪微博 OAuth授权多个用户的有关问题
  详细解决方案

android新浪微博 OAuth授权多个用户的有关问题

热度:17   发布时间:2016-05-01 12:01:44.0
android新浪微博 OAuth授权多个用户的问题
   开发的android新浪微博客户端只能授权我的第一个微博账号,我再申请的3个账号全部无法授权。     单独授权其他账户也不可以。

   希望大家帮帮忙。

public User getUserInfo(User user){
      StringBuilder buffer = null;
  String url = "http://api.t.sina.com.cn/users/show.json";
  List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>();
  params.add(new BasicNameValuePair("source",oauth.APP_KEY ));
  params.add(new BasicNameValuePair("user_id",user.getUser_id()));
                //提交请求
  HttpResponse response = oauth.signRequest(user.getToken(), user.getToken_secret(), url, params);

                //这里第一个账户返回200没问题,其他全部返回403。
  if(HttpStatus.SC_OK == response.getStatusLine().getStatusCode()){
  try {
  InputStream is = response.getEntity().getContent();
  Reader reader = new BufferedReader(new InputStreamReader(is), 4000);
  buffer = new StringBuilder((int)response.getEntity().getContentLength());
  char[] buf = new char[1024];
  int length = 0;
  while((length = reader.read(buf))!=-1){

  buffer.append(buf,0,length);
  }
 
  reader.close();
 
  } 
   catch (IOException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
  }
  }
  try { 
                        
                        //解析JSON数据
  JSONObject data = new JSONObject(buffer.toString());
  user.setUser_id(data.getString("id"));
  user.setDescription(data.getString("description"));
  user.setUser_name(data.getString("screen_name"));
  String head_url = data.getString("profile_image_url");

  user.setUser_head(getDrawbleFromUrl(head_url));

  } catch (JSONException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
  }
 
  return user;
  }
    //请求数据
    public HttpResponse signRequest(String token, String tokenSecret,
            String url, List<BasicNameValuePair> params) {
        HttpPost post = new HttpPost(url);
        ByteArrayOutputStream bos = null;
        String file = null;
        try {
            // 参数的编码转换为utf-8
            post.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));

            for (int i = 0; i < params.size(); i++) {
  相关解决方案