java使用腾讯api,java 通过腾讯API 发微博

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";// 签名密钥1

private String oauth_signature_method = "HMAC-SHA1";// 签名方法,暂只支持HMAC-SHA1

private 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 = ""; // 签名密钥2

private 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 getParams() {

List parameters = new ArrayList();

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 getAccessParams(){

List parameters = this.getTokenParams();

if(oauth_verifier!=null && !"".equals(oauth_verifier)){

parameters.add(new QParameter("oauth_verifier", oauth_verifier));

}

return parameters;

}

public List getTokenParams() {

List parameters = new ArrayList();

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类。。

会弹出 浏览器 页面,。出现授权的页面

0818b9ca8b590ca3270a3433284dd417.png

点击授权按钮。。。。

页面会跳转到另外一个链接。就是刚才oauth_callback 填写的地址。

0818b9ca8b590ca3270a3433284dd417.png

例如 的是跳到这样的链接。。。。 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值