博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
简单的新浪微博OAuth认证实现
阅读量:6283 次
发布时间:2019-06-22

本文共 2361 字,大约阅读时间需要 7 分钟。

System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY);System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET);     Weibo weibo = new Weibo();    // set callback url, desktop app please set to null    // http://callback_url?oauth_token=xxx&oauth_verifier=xxx    //1。根据app key第三方应用向新浪获取requestToken    RequestToken requestToken = weibo.getOAuthRequestToken();       System.out.println("1.......Got request token成功");    System.out.println("Request token: "+ requestToken.getToken());    System.out.println("Request token secret: "+ requestToken.getTokenSecret());    AccessToken accessToken = null;   //2。用户从新浪获取verifier_code 如果是Android或Iphone应用可以callback =json&userId=xxs&password=XXX    System.out.println("Open the following URL and grant access to your account:");    System.out.println(requestToken.getAuthorizationURL());    BareBonesBrowserLaunch.openURL(requestToken.getAuthorizationURL());   //3。用户输入验证码授权信任第三方应用    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));    while (null == accessToken) {System.out.print("Hit enter when it's done.[Enter]:");String pin = br.readLine();System.out.println("pin: " + br.toString());try{//4。通过传递requestToken和用户验证码获取AccessToken   accessToken = requestToken.getAccessToken(pin);} catch (WeiboException te) {   if(401 == te.getStatusCode()){System.out.println("Unable to get the access token.");   }else{te.printStackTrace();   }}    }       System.out.println("Got access token.");    System.out.println("Access token: "+ accessToken.getToken());    System.out.println("Access token secret: "+ accessToken.getTokenSecret());   //使用AccessToken来操作用户的所有接口   /* Weibo weibo=new Weibo();     以后就可以用下面accessToken访问用户的资料了    * weibo.setToken(accessToken.getToken(), accessToken.getTokenSecret());    //发布微博Status status = weibo.updateStatus("test message6 ");System.out.println("Successfully updated the status to ["+ status.getText() + "].");       try {Thread.sleep(3000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}*/    System.exit(0);} catch (WeiboException te) {    System.out.println("Failed to get timeline: " + te.getMessage());    System.exit( -1);} catch (IOException ioe) {    System.out.println("Failed to read the system input.");    System.exit( -1);}

 

转载于:https://www.cnblogs.com/xiaochao1234/p/3707406.html

你可能感兴趣的文章
【leetcode】Remove Element (easy)
查看>>
mysql多表查询及其 group by 组内排序
查看>>
alsa的snd_pcm_readi()函数和snd_pcm_writei()
查看>>
Android学习网站推荐(转)
查看>>
嵌入式根文件系统的移植和制作详解
查看>>
MEF部件的生命周期(PartCreationPolicy)
查看>>
LCD的接口类型详解
查看>>
nginx 基础文档
查看>>
LintCode: Unique Characters
查看>>
Jackson序列化和反序列化Json数据完整示例
查看>>
.net 中的DllImport
查看>>
nyoj 517 最小公倍数 【java睑板】
查看>>
include与jsp:include区别
查看>>
ftp的20 21端口和主动被动模式
查看>>
MySQL存储引擎选型
查看>>
Java中的statickeyword具体解释
查看>>
Linux车载系统的开发方向
查看>>
并发编程之五--ThreadLocal
查看>>
摄像头驱动OV7725学习笔记连载(二):0V7725 SCCB时序的实现之寄存器配置
查看>>
iOS播放短的音效
查看>>