java 通过腾讯API 发微博
来源:互联网 发布:topshop淘宝旗舰店 编辑:程序博客网 时间:2024/06/15 07:36
首先准备好申请的appkey和App Secret。。
先将项目 导入到eclipse中,
打开OAuthor类
oauth_consumer_key :你的appkeyoauth_consumer_secret :你的App Secret
oauth_callback :这个可填可不填。。其他的就不用管了。
-------------------------------------------------------------------------package com.tencent.weibo.beans;import java.util.ArrayList;import java.util.List;import java.util.Random; public class OAuth {private String oauth_consumer_key = "671dc036a4924fa39027abe4b7a7091a";// AppKey(client credentials)private String oauth_consumer_secret = "22b430ced88be161924acdfe40dbb68c";// 签名密钥1private String oauth_signature_method = "HMAC-SHA1";// 签名方法,暂只支持HMAC-SHA1private String oauth_timestamp = "";// 时间戳private String oauth_nonce = "";// 单次值,随机字符串,防止重放攻击private String oauth_callback = "null";// 认证成功后浏览器会被重定向到这个url中private String oauth_version = "1.0";// (可选)private String oauth_token = "";//授权码private String oauth_token_secret = ""; // 签名密钥2private String oauth_verifier = ""; //验证码private int status = 0;//认证状态,0:成功,1:Request失败,2:Access失败private Account account = new Account(); // 个人账户信息private String msg = "";private Random random = new Random();public OAuth(){super();}public OAuth(String oauth_callback) {super();this.oauth_callback = oauth_callback;}public OAuth(String oauth_consumer_key,String oauth_consumer_secret,String oauth_callback) {super();this.oauth_consumer_key = oauth_consumer_key;this.oauth_consumer_secret = oauth_consumer_secret;this.oauth_callback = oauth_callback;}public List<QParameter> getParams() {List<QParameter> parameters = new ArrayList<QParameter>();oauth_timestamp = this.generateTimeStamp();oauth_nonce = this.generateNonce();if(null!=oauth_consumer_key && !"".equals(oauth_consumer_key.trim()))parameters.add(new QParameter("oauth_consumer_key", oauth_consumer_key));if(null!=oauth_signature_method && !"".equals(oauth_signature_method.trim()))parameters.add(new QParameter("oauth_signature_method", oauth_signature_method));if(null!=oauth_timestamp && !"".equals(oauth_timestamp.trim()))parameters.add(new QParameter("oauth_timestamp", oauth_timestamp));if(null!=oauth_nonce && !"".equals(oauth_nonce.trim()))parameters.add(new QParameter("oauth_nonce", oauth_nonce));if(null!=oauth_callback && !"".equals(oauth_callback.trim()))parameters.add(new QParameter("oauth_callback", oauth_callback));if(null!=oauth_version && !"".equals(oauth_version.trim()))parameters.add(new QParameter("oauth_version", oauth_version));return parameters;}public List<QParameter> getAccessParams(){List<QParameter> parameters = this.getTokenParams();if(oauth_verifier!=null && !"".equals(oauth_verifier)){parameters.add(new QParameter("oauth_verifier", oauth_verifier));}return parameters;}public List<QParameter> getTokenParams() {List<QParameter> parameters = new ArrayList<QParameter>();oauth_timestamp = this.generateTimeStamp();oauth_nonce = this.generateNonce();parameters.add(new QParameter("oauth_consumer_key", oauth_consumer_key));parameters.add(new QParameter("oauth_signature_method", oauth_signature_method));parameters.add(new QParameter("oauth_timestamp", oauth_timestamp));parameters.add(new QParameter("oauth_nonce", oauth_nonce));parameters.add(new QParameter("oauth_token", oauth_token));parameters.add(new QParameter("oauth_version", oauth_version));return parameters;}public String getOauth_consumer_key() {return oauth_consumer_key;}public void setOauth_consumer_key(String oauth_consumer_key) {this.oauth_consumer_key = oauth_consumer_key;}public String getOauth_signature_method() {return oauth_signature_method;}public void setOauth_signature_method(String oauth_signature_method) {this.oauth_signature_method = oauth_signature_method;}public String getOauth_consumer_secret() {return oauth_consumer_secret;}public void setOauth_consumer_secret(String oauth_consumer_secret) {this.oauth_consumer_secret = oauth_consumer_secret;}public String getOauth_timestamp() {return oauth_timestamp;}public void setOauth_timestamp(String oauth_timestamp) {this.oauth_timestamp = oauth_timestamp;}public String getOauth_nonce() {return oauth_nonce;}public void setOauth_nonce(String oauth_nonce) {this.oauth_nonce = oauth_nonce;}public String getOauth_callback() {return oauth_callback;}public void setOauth_callback(String oauth_callback) {this.oauth_callback = oauth_callback;}public String getOauth_version() {return oauth_version;}public void setOauth_version(String oauth_version) {this.oauth_version = oauth_version;}public String getOauth_token() {return oauth_token;}public void setOauth_token(String oauth_token) {this.oauth_token = oauth_token;}public String getOauth_token_secret() {return oauth_token_secret;}public void setOauth_token_secret(String oauth_token_secret) {this.oauth_token_secret = oauth_token_secret;}public String getOauth_verifier() {return oauth_verifier;}public void setOauth_verifier(String oauth_verifier) {this.oauth_verifier = oauth_verifier;}public int getStatus() {return status;}public void setStatus(int status) {this.status = status;}public Account getAccount() {return account;}public void setAccount(Account account) {this.account = account;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}/** * Generate the timestamp for the signature. * * @return */private String generateTimeStamp() {return String.valueOf(System.currentTimeMillis() / 1000);}/** * Just a simple implementation of a random number between 123400 and * 9999999 * * @return */private String generateNonce() {return String.valueOf(random.nextInt(9876599) + 123400);}}
2。。运行TestFav_API类。。会弹出 浏览器 页面,。出现授权的页面
点击授权按钮。。。。
页面会跳转到另外一个链接。就是刚才 oauth_callback 填写的地址。
例如 的是跳到这样的链接。。。。 URL中有个这样的oauth_verifier 的值,复制到这个后面的数值。粘贴后 eclipse 的控制台上,回车 。 在控制台中可以得到 Oauth_token 和Oauth_token_secret 的值。。3,。。。新建 UpdateStatus 类,来准备发布一条微博。。public class UpdateStatus {public static void main(String[] args) throws Exception {OAuth oauth = new OAuth();//天宇me oauth.setOauth_token("xxxxxxxxxxxxxxxxxx");oauth.setOauth_token_secret("xxxxxxxxxxxxxx");T_API t_API = new T_API();//String x = t_API.add(oauth, WeiBoConst.ResultType.ResultType_Json, "GO.GO.GO...", "127.0.0.1", "116.471090", "39.905286");String x = t_API.add_pic(oauth, WeiBoConst.ResultType.ResultType_Json, "\"..", "127.0.0.1", "116.4", "39.9", "http://www.goweng.com/uploads/allimg/110216/0RH25339-0.jpg");System.out.println("x=="+x);}}new一个OAuthor, 把刚才得到的 Oauth_token 和 Oauth_token_secret 添加上, 调用 add方法,第一个参数 固定写,第二个 设置返回的格式,第三个参数 填写 要发布的微博内容, 第四个参数 ‘127.0.0.1’填写本地地址,固定就写这个吧, 最后两个是 经度和纬度, 可以空着不填写。。。(不知道是我哪里出错了还是TX的问题 就算加上经度和纬度数发布后的微博也是不显示地址的。。。)ok了。 然后就运行这个类吧。。打开微博http://t.qq.com 看看刚才发布的微博。。下载JAVA-SDK-v1.1.8 http://download.csdn.net/detail/macwhirr123/4258161
- java 通过腾讯API 发微博
- java通过api连接hbase
- 腾讯 iweibo Java API 1.2.1 bug 修正一处
- 通过JAVA API操作HDFS文件系统
- openstack 通过 java api 上传image
- 通过Java Api与HBase交互
- java通过api对hadoop的操作
- HDFS通过java api进行访问
- 通过Java Api与HBase交互(转)
- 通过Java Api与HBase交互
- 通过java api提交自定义hadoop 作业
- 通过Java Api与HBase交互(转)
- 通过Java Api与HBase交互(转)
- :通过Java Api与HBase交互(转)
- Android Studio 通过 Java api开发opencv
- 通过Java Api与HBase交互
- 通过Java Api与HBase交互(转)
- 通过Java Api对Hbase进行操作
- CentOS5中文乱码问题解决
- 新工作重心
- 快到51了诶
- Android上的单元测试shell
- Liunx C获取IP、MAC地址
- java 通过腾讯API 发微博
- tracert命令及用法
- 网络内容审计解决方案
- ZLIB压缩库的使用注意的一点。
- Android应用资源---菜单资源类型(Menu)
- 转 ptrace玩转
- C语言函数调用方式的区别
- 留言板
- C#图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果)