java 微博发布时间_自动发布新浪微博java

package weibo4j.examples;

package weibo4j.examples;

import java.io.StringReader;

import java.util.HashMap;

import java.util.Map;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;

import org.w3c.dom.Element;

import org.w3c.dom.Node;

import org.w3c.dom.NodeList;

import org.xml.sax.InputSource;

import weibo4j.Status;

import weibo4j.Weibo;

import weibo4j.WeiboException;

import weibo4j.http.AccessToken;

import weibo4j.http.HttpClient;

import weibo4j.http.PostParameter;

import weibo4j.http.RequestToken;

import weibo4j.http.Response;

public class WebOAuth {

public static String CONSUMER_KEY = "2299894210";//你的新浪应用key 缺省是"jivejdon"的public static String CONSUMER_SECRET ="191b3411c5f126176b98e1be26b02233";

public static String SINA_USERID ="你的新浪微博用户名";

public static String SINA_PASSWD ="你的新浪微博密码";

public static RequestToken request(String backUrl) {

try {

System.setProperty("weibo4j.oauth.consumerKey", CONSUMER_KEY);

System.setProperty("weibo4j.oauth.consumerSecret", CONSUMER_SECRET);

Weibo weibo = new Weibo();

RequestToken requestToken = weibo.getOAuthRequestToken(backUrl);

System.out.println("Got request token.");

System.out.println("Request token: "+ requestToken.getToken());

System.out.println("Request token secret: "+ requestToken.getTokenSecret());

return requestToken;

} catch (Exception e) {

e.printStackTrace();

return null;

}

}

public static AccessToken requstAccessToken(RequestToken requestToken, String verifier) {

try {

System.setProperty("weibo4j.oauth.consumerKey", CONSUMER_KEY);

System.setProperty("weibo4j.oauth.consumerSecret", CONSUMER_SECRET);

Weibo weibo = new Weibo();

AccessToken accessToken = weibo.getOAuthAccessToken(requestToken.getToken(), requestToken.getTokenSecret(), verifier);

System.out.println("Got access token.");

System.out.println("access token: "+ accessToken.getToken());

System.out.println("access token secret: "+ accessToken.getTokenSecret());

return accessToken;

} catch (Exception e) {

e.printStackTrace();

return null;

}

}

public static void update(AccessToken access, String content) {

try {

Weibo weibo = new Weibo();

weibo.setToken(access.getToken(), access.getTokenSecret());

Status status = weibo.updateStatus(content);

System.out.println("Successfully updated the status to ["+ status.getText() +"].");

} catch (WeiboException e) {

e.printStackTrace();

}

}

public static void main(String[] args) throws Exception {

RequestToken requestToken = request("xml");

HttpClient http = new HttpClient();

PostParameter[] postParameters = new PostParameter[] { new PostParameter("oauth_callback","xml"), new PostParameter("userId", SINA_USERID),

new PostParameter("passwd", SINA_PASSWD) };

Response response = http.get(requestToken.getAuthorizationURL());

response = http.post(requestToken.getAuthorizationURL(), postParameters);

Weibo weibo = new Weibo();

System.out.print("www"+ response.asString());

StringReader reader = new StringReader(response.asString());

InputSource inputSource = new InputSource(reader);

Map map = readXML(inputSource);

AccessToken accessToken = requstAccessToken(requestToken, (String) map.get("oauth_verifier"));

update(accessToken,"测试一下");

}

public static Map readXML(InputSource inputSource) {

Map map = new HashMap();

try {

DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();

DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();

Document doc = docBuilder.parse(inputSource);// normalize text representationdoc.getDocumentElement().normalize();

System.out.println("Root element of the doc is "+ doc.getDocumentElement().getNodeName());

map.put("oauth_token", getValue(doc,"oauth_token"));

map.put("oauth_verifier", getValue(doc,"oauth_verifier"));

System.out.println(" oauth_token="+ getValue(doc,"oauth_token"));

System.out.println(" oauth_token="+ getValue(doc,"oauth_verifier"));

} catch (Exception err) {

System.out.println(" "+ err.getMessage());

}

return map;

}

public static String getValue(Document doc, String name) {

String ret ="";

NodeList listOfPersons = doc.getElementsByTagName(name);

for (int s = 0; s < listOfPersons.getLength(); s++) {

Node firstPersonNode = listOfPersons.item(s);

Element firstPersonElement = (Element) firstPersonNode;

ret = firstPersonElement.getTextContent();

}// end of for loop with s varreturn ret;

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值