微博授权登录

前往授权界面

    public function microblogone(){
        
       $key='2306693501'; 
       $secret='f9bb1431ad6f599dde2fcc2e297a2b59';
       $redirect_uri=urlencode('http://www.xinyiyicheng.com/index/Sendmail/microblog');
       $url="https://api.weibo.com/oauth2/authorize?client_id={$key}&redirect_uri={$redirect_uri}";
       
       
       echo" <a href='{$url}'>微博登录</a>";
 
        

    }


获取授权用户信心界面

    //微博链接
    public function microblog(){
      
    
        
       $url='https://api.weibo.com/oauth2/access_token';
       $vars=[
          'client_id'=>'2306693501',
          'client_secret'=> 'f9bb1431ad6f599dde2fcc2e297a2b59',
          'grant_type' =>'authorization_code',
          'code'=>$_GET['code'],
          'redirect_uri' =>'http://www.xinyiyicheng.com/index/Sendmail/microblog'
       ];
      
       $res= $this->getPost($url,$vars);
       echo '<pre>';
       $resdata= json_decode($res,true);
     //  print_r($resdata);
     
2.00XHxoaGt2eGWC73edd3853dlNnnJB
    $urll="https://api.weibo.com/2/emotions.json?access_token={$resdata['access_token']}";
    $dataa= $this-> getPost($urll);
    $resdataa= json_decode($dataa,true);
    print_r($resdataa);
    
    }
    


/** * 测试新浪微博API * @author syn * @date 2010/12/22 */ public class TestActivity extends Activity { private static final String BASE_URL = "http://api.t.sina.com.cn/"; //API接口 private static final String CONSUMER_KEY = "270793661"; //你申请的Key private static final String HEADER_AUTHO = "Authorization"; //Authorization private static final String HEADER_BASIC = "Basic "; //Basic private static final String ERROR = "MyError"; //错误 List<myTest> myTestList; /** * 测试用的类,用于解析JSON,因为只是测试,所以乱写一下 */ public class myTest { private Date created_at; //返回微博发布的时间 private String text; //微博内容 private User user; //微博用户信息 public myTest(JSONObject object) throws JSONException //解析JSON文件 { text=""; user=null; created_at=new Date(object.getString("created_at")); text=object.getString("text"); user=new User(object.getJSONObject("user")); } } @Override public void onCreate(Bundle savedInstanceState) { String tailUrl="statuses/public_timeline.json"; //我要获得的是最新的公共微博 String response=getResponse(tailUrl, MainActivity.loginUser);//调用提交函数,此函数是核心部分 super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.test); TextView textView01=(TextView)findViewById(R.id.test); if(response.startsWith(ERROR)) textView01.setText("error"); else { JSONArray array; try { array = new JSONArray(response); for (int i = 0; i < array.length(); i++) { myTest mytest= new myTest(array.getJSONObject(i)); //myTestList.add(mytest); String content="Content:"+mytest.text+" Author:"+mytest.user.getNike()+" Date:"+mytest.created_at; textView01.setText(content); } } catch (JSONException e) { e.printStackTrace(); } } } /** * 此函数提交URL,返回访问结果 * @param tailUrl json或者xml的url * @param user 用户的一个对象 * @return 提交结果 */ private static String getResponse(String tailUrl,User user) { String httpUrl=BASE_URL+tailUrl; ArrayList<NameValuePair> postParams=new ArrayList<NameValuePair>(); postParams.add(new BasicNameValuePair("source",CONSUMER_KEY)); //封装入APP Key try { HttpPost httpRequest = new HttpPost(httpUrl); httpRequest.setEntity(new UrlEncodedFormEntity(postParams,HTTP.UTF_8)); //把参数放入Entity httpRequest.addHeader(HEADER_AUTHO, HEADER_BASIC+user.encodeBase64NamePass()); //这里就是给用户的用户名和密码加密,然后放入http头 httpRequest.getParams().setBooleanParameter(CoreProtocolPNames.USE_EXPECT_CONTINUE,false); HttpClient httpclient = new DefaultHttpClient(); HttpResponse httpResponse = httpclient.execute(httpRequest); //提交 int statusCode=httpResponse.getStatusLine().getStatusCode(); //获得结果码200是正确 if ( statusCode== HttpStatus.SC_OK) { String strResult = EntityUtils.toString(httpResponse.getEntity()); Log.e("WeiboKu", "strResult :"+strResult); return strResult; } else { Log.e("WeiboKu", "strResult Error:"+statusCode); return ERROR+String.valueOf(statusCode); } } catch (Exception e) { Log.e("WeiboKu", "getResponse Exception:"+e.getMessage()); return ERROR+e.getMessage().toString(); } } }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值