新浪微博---开放平台的使用01

现在有很多的开放平台,可以供第三方来基于这些开放平台开发应用程序,最近在做新浪微博的一个小例子,刚刚入门,高手勿拍砖!

1、http://open.weibo.com这个是新浪的开放平台,里面有SDK,有开发文档等等

 

2、下载SDK,我暂时先下载了一个JAVA的SDK来实验一下,具体地址:http://open.weibo.com/wiki/index.php/SDK#Java_SDK

 

3、将其解压到eclipse的workspace里面,然后导入到eclipse

 

4、开发第三方应用程序,需要创建一下应用,之后你会得到一个

Key

App Key:

1211******

App Secret:

d6b*****************************

 

5、一开始是找到的是weibo4j.Weibo.java、weibo4j.examples.statues.UpdateStatus.java文件,于是在UpdateStatus.java里修改了一下Key和Secret的值,当然如果用默认的,好像是不出错的,但是我用了一下自己的,却出错了,什么错误呢?

weibo4j.WeiboException: 403:The request is understood, but it has been refused.  An accompanying error message will explain why.
{"request":"/statuses/update.json","error_code":"403","error":"40320:Error: basic auth  forbidden !"}

	at weibo4j.http.HttpClient.httpRequest(HttpClient.java:669)
	at weibo4j.http.HttpClient.httpRequest(HttpClient.java:611)
	at weibo4j.http.HttpClient.post(HttpClient.java:435)
	at weibo4j.Weibo.updateStatus(Weibo.java:1276)
	at weibo4j.examples.statuses.UpdateStatus.main(UpdateStatus.java:28)

网上说的是:将自己添加为测试用户

①登录开放平台,我的应用--编辑应用属性---测试用户UID

②这个UID就是你注册新浪微博的时候,分配给你的一串类似于QQ号的东西,可以到“我的微博” ,上面会有你的名字和微博的ID,这串数字就是UID

③将UID放到输入框里,就会将你自己添加为测试用户


 

看到basic auth认证机制不能用了,于是我将

Weibo weibo = getWeibo(false,args);里面的false改为true,让它使用OAuth认证,但是可能是由于我太菜了,运行后还是有问题,再次如果有那个朋友知道的话帮个忙哈

args = new String[]{"xxxxx@.sina.cn","*******"};
        	Weibo weibo = getWeibo(false,args);
 
        	Status status = weibo.updateStatus("心语互动测试成功!");
        	System.out.println(status.getId() + " : "+ status.getText()+"  "+status.getCreatedAt());
 

上面是UpdateStatus里面的代码,下面是运行后的错误

weibo4j.WeiboException: 403:The request is understood, but it has been refused.  An accompanying error message will explain why.
{"request":"/statuses/update.json","error_code":"403","error":"40320:Error: basic auth  forbidden !"}

	at weibo4j.http.HttpClient.httpRequest(HttpClient.java:669)
	at weibo4j.http.HttpClient.httpRequest(HttpClient.java:611)
	at weibo4j.http.HttpClient.post(HttpClient.java:435)
	at weibo4j.Weibo.updateStatus(Weibo.java:1276)
	at weibo4j.examples.statuses.UpdateStatus.main(UpdateStatus.java:28)

 即使查了错误代码,还是不知道到底是哪里错了

 

6、后来我看了一下readme.txt说明文档,想用不需要认证的OAuth来试试,于是按照它的说法:

    OAuth桌面应用访问

步骤: 1> 在weibo4j.examples.OAuthUpdate 访问认证的URL,得到pin

 2> 在weibo4j.examples.OAuthUpdate 输入pin,然后得到AccessToken

 3> 即可访问用户的微博,参考:weibo4j.examples.OAuthUpdateTwo

 

weibo4j.examples.OAuthUpdateTwo

尝试了一下,运行后控制台下会有个链接,点击这个链接,会得到一个pin:350576

在控制台输入pin后,得到了

Access token: f520d1efb5532e6daf**************

Access token secret: ddb5f6990b66579fe4**************

 

7、然后将Access token和Access token secret放入weibo4j.examples.OAuthUpdateTwo中

/*
			 * 此处需要填写AccessToken的key和Secret,可以从OAuthUpdate的执行结果中拷贝过来
             */
           // weibo.setToken("AccessToken", "AccessTokenSecret");
            weibo.setToken("f520d1efb5532e6daf**************", "ddb5f6990b66579fe4**************");
 

8、下面这条语句是更新状态的语句,你可以输入你想说的

 Status status = weibo.updateStatus("你好吗?");

 

9、然后还要将你的用户名和密码加入到里面,注意红色部分

args = new String[]{"*******@sina.cn","*******"};
        	if (args.length < 2) {
	            System.out.println(
	                "Usage: java weibo4j.examples.OAuthUpdateTwo token tokenSecret");
	            System.exit( -1);
	        }

 10、运行JAVA程序,然后更新博客,你会看到状态更新了


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值