`

新浪微博---开放平台的使用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程序,然后更新博客,你会看到状态更新了


 

  • 大小: 11.3 KB
  • 大小: 3.3 KB
分享到:
评论
7 楼 BenoWay 2011-06-13  
每个平台,API不一样,头痛。
6 楼 Ceven2010 2011-06-13  
新浪微博公示说六月份开始停止基础身份验证的服务,只提供OAuth的认证方式
5 楼 httpclient_bd 2011-06-10  
ewong 写道
我做过一个小应用,只要有Access token和Access token secret就可以了,不要用户名密码

另外我想问个相关的问题
类似开放平台的认证都用到了request token 和 access token
用request token换取access token的意义何在,为什么不能直接拿到access token
还有request token 和 access token都各自对应一个secret

有人能解释下原理吗
http://open.weibo.com/wiki/index.php/Oauth


用request_token是因为request_token被授权后,会暴露在url中, 被认为是不安全的,因此被设计为一次性使用,换取access_token后即作废。 access_token全程是在后台进行交互的,被认为是安全的。

secret,是为了确保token所有权的签名密钥。

还有个timestamp和nonce, 是防止重放攻击的

4 楼 haclyone 2011-06-09  
oauth1.0的协议就是这样的,出于安全考虑
参考:http://tools.ietf.org/html/rfc5849
3 楼 ewong 2011-06-09  
我做过一个小应用,只要有Access token和Access token secret就可以了,不要用户名密码

另外我想问个相关的问题
类似开放平台的认证都用到了request token 和 access token
用request token换取access token的意义何在,为什么不能直接拿到access token
还有request token 和 access token都各自对应一个secret

有人能解释下原理吗
http://open.weibo.com/wiki/index.php/Oauth
2 楼 hualang 2011-06-09  
kala888 写道
9、然后还要将你的用户名和密码加入到里面,注意红色部分


没有意义吧。。。拿到
Access token: f520d1efb5532e6daf**************

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

就可以了。。

但是没有加用户名和密码会报错,当时我也是按照说明文档来做的,后来加上了用户名和密码后,可以运行了,具体原因我还在研究中...
1 楼 kala888 2011-06-09  
9、然后还要将你的用户名和密码加入到里面,注意红色部分


没有意义吧。。。拿到
Access token: f520d1efb5532e6daf**************

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

就可以了。。

相关推荐

    新浪微博-田一鸣-垂直开放运营.pdf

    新浪微博-田一鸣-垂直开放运营

    新浪微博--媒介推广与应用

    新浪微博--媒介推广与应用

    新浪微博-实时流计算平台及应用模式.rar

    《新浪微博-实时流计算平台及应用模式》是一个深入探讨IT技术实践,特别是大数据处理领域的案例。这个压缩包包含了“新浪微博-实时流计算平台及应用模式.pdf”,这份文档详细阐述了如何构建和运用实时流计算平台来...

    新浪微博-电商企业-分享方案PPT下载.rar

    【标题】:“新浪微博-电商企业-分享方案PPT下载.rar”这一压缩包文件主要涵盖了关于微博平台在电子商务领域的应用及企业分享策略的PPT演示文稿。从标题中我们可以推测,此PPT可能包含了如何利用新浪微博这个社交...

    新浪微博-java项目

    【标题】:“新浪微博-java项目”是一个使用JavaWeb技术构建的基于浏览器/服务器(B/S)架构的微型博客系统,模仿了真实的新浪微博平台。这个项目旨在为开发者提供一个学习和参考的平台,帮助他们理解并实践JavaWeb...

    新浪微博-微服务与容器技术.rar

    新浪微博-微服务与容器技术.rar

    新浪微博-分享

    【标题】:“新浪微博-分享”指的是利用新浪微博的开放平台接口,开发的一款演示应用程序,它允许用户在新浪微博上分享内容。这个项目可能是为了展示如何将社交媒体功能整合到自己的应用或网站中,让用户能够方便地...

    手把手教你开发新浪微博(完整版)

    一个完整的新浪微博客户端android版OAuth认证 开发我的新浪微博客户端-大图浏览以及保存篇 开发我的新浪微博客户端-阅读微博功能篇 开发我的新浪微博客户端-阅读微博UI篇 开发我的新浪微博客户端-用户首页面功能篇 ...

    新浪微博-易观移动互联网年会分享方案

    随时-随地-随心新浪微博-易观移动互联网年会分享方案

    新浪微博----android源码

    在移动互联网时代,Android平台上的应用开发已经成为开发者们的重要战场,其中,新浪微博作为一款极具代表性的社交应用,其源码解析对于Android开发者来说具有极高的学习价值。通过对新浪官方微博Android源码的研究...

    Android平台新浪微博开发实战视频教程(10集)

    教程名称:Android平台新浪微博开发实战视频教程(10集)教程目录:【】Android项目_-6(上)【】Android项目_新浪微博-4(上)【】Android项目_新浪微博Android客户端开发ppt【】Android项目_新浪微博OAuth认证-4(下)...

    新浪微博-redis实践

    redis使用用及优化建议 redis不是万能的:合理的业务选型 明确redis业务使用规范 按照业务线独立部署:避免混用 线上版本尽量统一 拥抱需求,持续优化

    阿里天池算法_新浪微博互动预测-挑战baseline,天池新浪微博预测

    1. **数据预处理**:首先,选手需要对提供的新浪微博数据进行清洗和预处理,包括处理缺失值、异常值,以及将非结构化文本数据(如微博内容)转化为可供机器学习模型使用的特征。 2. **特征工程**:特征工程是构建...

    新浪微博-2018年微博粉丝白皮书-2019.07-69页.rar

    该报告由新浪官方于2019年7月发布,共计69页,详细剖析了微博平台在这一年中的发展变化,为理解社交媒体营销、粉丝经济以及公众舆论提供了宝贵的数据和洞察。 首先,报告揭示了微博作为中国最大社交媒体平台之一的...

    新浪微博如何发布定向微博-.docx

    新浪微博如何发布定向微博-.docx

    新浪微博-技术管理之路.rar

    《新浪微博-技术管理之路》是一本深入探讨技术管理者在互联网行业中如何成长与发展的参考资料。这本书主要聚焦于在新浪微博这样的大型互联网公司中,技术领导者如何从技术专家转变为有效的技术管理者,涵盖了技术...

    新浪微博-新时代下的微博LNMP架构.rar

    《新浪微博在新时代下的LNMP架构解析》 在互联网技术日新月异的今天,微博作为社交媒体的重要代表,其背后的技术架构对于确保平台的稳定运行、高效处理海量数据以及提供优质的用户体验至关重要。本篇文章将深入探讨...

    新浪微博 - 微博Service Mesh实践

    新浪微博作为一家大型社交媒体平台,其微服务架构的实践和探索具有典型意义。文章中提到的Weibo Mesh是新浪微博内部对Service Mesh实践的称呼,其实践主要围绕服务治理、跨语言服务化、微服务容器化以及云原生等方向...

    自然语言处理数据集-36 万多条-带情感标注 新浪微博-包含 4 种情感,其中喜悦约 20 万条,愤怒、厌恶、低落各约 5 万条

    在本案例中,由于数据来自新浪微博,一个中国的主要社交媒体平台,这些数据特别适用于研究中国用户的情感表达和网络舆情。 对于数据的处理,推荐使用诸如Notepad++这样的文本编辑器,它支持查看和分析大型CSV文件。...

    新浪微博开放平台

    熟悉Twitter API的开发者可以快速适应新浪微博开放平台的使用。 #### 二、平台网址与官方账号 - **平台网址**:新浪微博开放平台的官方网站为`http://open.t.sina.com.cn/`,其中部分页面对外开放。 - **官方账号*...

Global site tag (gtag.js) - Google Analytics