`

[分享] 新浪微博---开放平台的使用01

 
阅读更多
[分享] 新浪微博---开放平台的使用01
新浪微博, 应用程序, 第三方, JAVA, 文档
现在有很多的开放平台,可以供第三方来基于这些开放平台开发应用程序,最近在做新浪微博的一个小例子,刚刚入门,高手勿拍砖!6 `' }/ K% z$ A1 x, g
1、http://open.weibo.com这个是新浪的开放平台,里面有SDK,有开发文档等等
2 h0 Z# D! Z* t. G
2、下载SDK,我暂时先下载了一个JAVA的SDK来实验一下,具体地址:http://open.weibo.com/wiki/index.php/SDK#Java_SDK2 ?2 O3 b! K' i4 n9 @+ V5 E3 y. F9 R4 i
7 U4 k/ a: l6 R9 _8 [# {9 n
3、将其解压到eclipse的workspace里面,然后导入到eclipse
+ W1 m9 I- m: f4 `# S
4、开发第三方应用程序,需要创建一下应用,之后你会得到一个' J. b4 ^" p$ |
Key+ R' @1 r8 G$ L  j- C0 K
App Key:
1211******
App Secret:6 L1 n9 ~) L7 W8 O7 r& a6 t+ I4 v
d6b*****************************: U1 o& |; ?# z! A

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

    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 !"}  
      `0 L( S7 |  h; Z+ ?
        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)  0 @' |, y" W8 r& F: Y) E! s( X  j

本主题由 看海绅士 于 2011-6-8 14:25 加入精华
收藏 分享 评分


回复 引用 订阅 TOP

javaboy

TW技术CTO

Rank: 8Rank: 8

帖子
    3617
精华
    192
积分
    17032
最后登录
    2011-9-27


2#
发表于 2011-6-8 10:52 | 只看该作者
网上说的是:将自己添加为测试用户$ |7 b0 K+ `) s& J- [$ U9 Y$ w
①登录开放平台,我的应用--编辑应用属性---测试用户UID6 a3 N5 f) l  H: {* C. j
②这个UID就是你注册新浪微博的时候,分配给你的一串类似于QQ号的东西,可以到“我的微博” ,上面会有你的名字和微博的ID,这串数字就是UID6 o) N& `7 k! X1 R. e9 H
③将UID放到输入框里,就会将你自己添加为测试用户" Z( ~+ N9 t6 L) `+ |0 ~' d( S1 @
1.gif


回复 引用 TOP

javaboy

TW技术CTO

Rank: 8Rank: 8

帖子
    3617
精华
    192
积分
    17032
最后登录
    2011-9-27


3#
发表于 2011-6-8 10:53 | 只看该作者
看到basic auth认证机制不能用了,于是我将
Weibo weibo = getWeibo(false,args);里面的false改为true,让它使用OAuth认证,但是可能是由于我太菜了,运行后还是有问题,再次如果有那个朋友知道的话帮个忙哈
Java代码 [url=][/url]* F- F2 v- E6 h  p: c

    args = new String[]{"xxxxx@.sina.cn","*******"};  
                Weibo weibo = getWeibo(false,args);  

                Status status = weibo.updateStatus("心语互动测试成功!");  
                System.out.println(status.getId() + " : "+ status.getText()+"  "+status.getCreatedAt()); 

" q8 m. l& O6 ]7 a
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里面的代码,下面是运行后的错误
Java代码 [url=][/url]

    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) 

5 [' b9 D0 }  U% M
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) 即使查了错误代码,还是不知道到底是哪里错了


回复 引用 TOP

javaboy

TW技术CTO

Rank: 8Rank: 8

帖子
    3617
精华
    192
积分
    17032
最后登录
    2011-9-27


4#
发表于 2011-6-8 10:54 | 只看该作者
6、后来我看了一下readme.txt说明文档,想用不需要认证的OAuth来试试,于是按照它的说法:
    OAuth桌面应用访问

步骤: 1> 在weibo4j.examples.OAuthUpdate 访问认证的URL,得到pin) w, L3 ?  y5 e6 f$ W8 ]
! Q% F, q/ T+ V* ^
2> 在weibo4j.examples.OAuthUpdate , f2 W" e! f: s- r3 _9 o
输入pin,然后得到AccessToken
; k/ c% N: U5 x) x, Z
3> 即可访问用户的微博,参考:weibo4j.examples.OAuthUpdateTwo- t) J# x+ k- H( q% x
' t2 V4 L' [$ \5 A' Y
weibo4j.examples.OAuthUpdateTwo
尝试了一下,运行后控制台下会有个链接,点击这个链接,会得到一个pin:350576
在控制台输入pin后,得到了
Access token: f520d1efb5532e6daf**************
Access token secret: ddb5f6990b66579fe4**************- t7 Q' A6 ]0 g1 G
1 v: l/ ?/ h* p  R9 I& O4 T* H9 D
7、然后将Access token和Access token secret放入weibo4j.examples.OAuthUpdateTwo中
Java代码 [url=][/url]

    /* 
                 * 此处需要填写AccessToken的key和Secret,可以从OAuthUpdate的执行结果中拷贝过来 
                 */  ?1 ]* g7 w: p% _) [( x

    // weibo.setToken("AccessToken", "AccessTokenSecret"); ) `9 I" i! H1 N! I) |, A
                weibo.setToken("f520d1efb5532e6daf**************", "ddb5f6990b66579fe4**************"); 

# C, d$ D# K. }+ ~, Y& t9 w
/*                         * 此处需要填写AccessToken的key和Secret,可以从OAuthUpdate的执行结果中拷贝过来             */           // weibo.setToken("AccessToken", "AccessTokenSecret");            weibo.setToken("f520d1efb5532e6daf**************", "ddb5f6990b66579fe4**************");  8、下面这条语句是更新状态的语句,你可以输入你想说的
Java代码 [url=][/url]

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

* h' b  F' l% ^( p' C
Status status = weibo.updateStatus("你好吗?");! B; m* K9 H2 \, I/ j9 C: |
9、然后还要将你的用户名和密码加入到里面,注意红色部分# ]; O' m' V. S$ G. f0 U0 M2 s
Java代码 [url=][/url]

    <STRONG><SPAN style="COLOR: #ff0000">args = new String[]{"*******@sina.cn","*******"};</SPAN></STRONG>  

    if (args.length < 2) {  
                    System.out.println(  

    "Usage: java weibo4j.examples.OAuthUpdateTwo token tokenSecret");  
                    System.exit( -1);  
                } 


args = new String[]{"*******@sina.cn","*******"};                if (args.length < 2) {                    System.out.println(                        "Usage: java weibo4j.examples.OAuthUpdateTwo token tokenSecret");                    System.exit( -1);                } 10、运行JAVA程序,然后更新博客,你会看到状态更新了
2.gif
分享到:
评论

相关推荐

    新浪微博-分享

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

    ios新浪微博项目视频教程:微博开放平台介绍

    在本“iOS新浪微博项目视频教程:微博开放平台介绍”中,我们将深入探讨如何利用微博开放平台为iOS应用集成社交功能。微博开放平台是新浪提供的一个开发者接口,它允许开发者通过API(应用程序接口)来实现与微博的...

    Android新浪微博分享

    在Android平台上,实现新浪微博分享是一项常见的社交功能,它允许用户将内容快速地推送到自己的微博账号,以便与好友们分享信息、图片或者链接。本文将详细介绍如何在Android应用中集成新浪微博分享功能,包括授权...

    新浪微博开放平台SDK

    微博是中国最具影响力的社交媒体平台之一,而新浪微博开放平台SDK则是开发者们接入微博服务、构建第三方应用的重要工具。本文将深入探讨这个SDK的核心功能、使用场景以及如何通过它来扩展你的应用程序。 ### SDK...

    新浪微博应用开发的一个简易方案(PHP+新浪微博开放平台+SAE)

    - 展示如何使用获取到的访问令牌来调用新浪微博开放平台的API接口,如获取用户信息、发布微博等。 **3. 错误处理** - 提供处理API调用失败情况的方法,如检查网络连接、验证参数等。 #### 五、进一步学习的走向和...

    分享到新浪微博源码

    本资源是关于“分享到新浪微博”的源代码,主要针对希望深入理解社交媒体平台集成,尤其是新浪微博API接口使用的开发者。这份源代码提供了一个完整的实现,可以作为一个学习和参考的实例,帮助你理解和掌握如何在...

    新浪微博授权分享

    2. 新浪微博API:为了实现授权分享,开发者需要使用新浪微博提供的API(Application Programming Interface)。这些API允许开发者获取用户授权,执行如获取用户信息、发布微博、转发微博等操作。 3. 授权流程:典型...

    新浪微博开放平台API

    微博开放平台是一个基于新浪微博客系统的开放的信息订阅、分享与交流平台。微博开放平台为您提供了海量的微博信息、粉丝关系、以及随时随地发生的信息裂变式传播渠道。 广大开发者或网站只要登录平台网站并创建应用...

    分享到新浪微博示例

    3. **调用API接口**:使用获取的Access Token,通过微博开放平台提供的API接口发送分享请求。常见的API有`statuses/share`,用于发布新状态,或者`upload/share`,用于附带图片的分享。 4. **错误处理与反馈**:...

    新浪微博登录 sina

    标题“新浪微博登录 sina”指的是关于如何使用新浪开放平台的OAuth协议进行微博登录的教程或代码示例。在互联网开发中,OAuth是一种授权框架,允许第三方应用在用户授权的情况下,访问其存储在另一服务提供者上的...

    swift-仿新浪微博截图分享

    5. 社交媒体集成:为了实现微博分享,需要使用新浪开放平台提供的SDK。首先,开发者需要注册并获取App Key和App Secret。然后,将SDK集成到项目中,通过OAuth2.0授权协议获取用户授权,调用SDK提供的接口发送分享...

    新浪微博php sdk文件

    1. **注册应用**:首先,你需要在新浪微博开放平台注册你的应用,获取App Key和App Secret。 2. **引导用户授权**:在你的网站上,通过SDK提供的函数生成授权链接,引导用户跳转到微博授权页面。 3. **获取授权码*...

    新浪微博分享文档

    【标题】:“新浪微博分享文档”涉及的是如何在应用程序中整合并使用新浪微博的SDK(Software Development Kit)进行内容分享。这通常适用于移动应用开发者,特别是针对Android平台,因为提供的压缩包文件名为`weibo...

    新浪微博 授权 分享 代码实例和文档

    首先,你需要在新浪微博开放平台注册你的应用,获取到App Key和App Secret。然后,引导用户跳转到新浪授权页面,用户同意后,会返回一个授权码(Access Token)。这个授权码用于后续请求用户的微博信息和其他接口...

    为Discuz论坛帖子分享到新浪微博功能

    标题中的“为Discuz论坛帖子分享到新浪微博功能”是指在Discuz论坛系统中实现一个功能,让用户能够方便地将自己在论坛上发布的帖子一键分享到新浪微博这个社交媒体平台。这一功能可以提升论坛的互动性和用户的社交...

    ios分享到新浪微博源码(ShareKit)

    本资源提供的"ios分享到新浪微博源码(ShareKit)"正是针对这一需求的解决方案。ShareKit是一个开源的iOS库,它简化了与各种社交网络和服务的集成,包括新浪微博。 ShareKit的核心思想是提供一个统一的API,开发者...

    新浪微博分享demo

    1. **注册应用**:首先,你需要在新浪微博开放平台上注册你的应用,获取到AppKey、AppSecret等关键信息。 2. **添加依赖**:在Android项目的build.gradle文件中,引入微博SDK的依赖库。这通常通过添加远程仓库和指定...

    Android新浪微博分享SDK

    本文将深入探讨"Android新浪微博分享SDK"和"Android腾讯微博分享SDK"的相关知识点,帮助开发者实现高效、便捷的微博分享功能。 1. **微博SDK概述** 微博SDK(Software Development Kit)是由微博官方提供的,用于...

    新浪微博爬数据

    在数字化时代,社交媒体平台如新浪微博成为了人们交流、分享信息的重要场所,其中蕴含着丰富的用户行为数据。对于研究人员、营销者甚至普通用户而言,这些数据具有极高的分析价值。本文将详细介绍如何利用Java语言,...

    新浪微博开放平台推出站内应用 全面提升应用品质.docx

    ### 新浪微博开放平台推出站内应用 全面提升应用品质 #### 背景介绍 随着社交媒体在全球范围内的快速发展,各大平台纷纷推出了开放平台策略,以吸引第三方开发者共同构建更加丰富多样的应用生态系统。2021年5月24日...

Global site tag (gtag.js) - Google Analytics