这些天在使用新浪微博的API和SDK写些东东,客服告诉我要使用
oauth2 版本,因为第1代已经申请不到appKey了,于是我下载了一个java版本的sdk。下载地址:http://code.google.com/p/weibo4j/downloads/detail?name=weibo4j-oauth2-beta2.0.zip
以下,使用 weibo4j-oauth2-beta2.0.zip 的过程中发现的问题:
// 从新浪微博的登录页面callback后的处理
String code = request.getParameter("code");
// 第1步
Oauth oauth = new Oauth();
AccessToken token = oauth.getAccessTokenByCode(code);
// 第2步
Weibo weibo = new Weibo();
weibo.setToken(token.getAccessToken());
// 第3步
Account account = new Account();
// 以下是取得授权用户(也就是登录用户)的ID
account.getUid();
/**
可以看到问题出在第2步到第3步之间没有任何引用的关连,通过查看sdk的代码,发现其中的关连是Weibo.client
,而client的声明是public static HttpClient client = new HttpClient();
并且是通过以下方法对client中的token进行赋值:
public synchronized void setToken(String token) {
client.setToken(token);
}
首先,我没看懂setToken方法用到的synchronized
是起到什么作用……好吧,我承认学艺不精。
其次,从第2步到第3步之间的过渡如果没有进行线程同步,那么会出现account.getUid()
取得其它用户的uid的问题,至于怎么出现的你懂的……我擦,我表示“尼玛,坑爹呀”。
补充,如果这个sdk用于客户端并只允许单用户登录那就不存在什么问题了,可这个偏偏是通过
request.getParameter("code");
获得token的……至此,我觉得我技术生涯的BUG都弱爆了。
所以,蛋粹一地,拜托了!因为亿万人在看……最后,新浪微博API哥,太浪会出大问题的,当心VT二连让你超鬼。
*/
我表示并没有故意诋毁之意。只是以此来提醒正在使用或准备开发新浪微博app的弟兄们。
注:博文下方的下载链接是weibo4j-oauth2-beta2.0.zip(2012/04/09)文件快照。
分享到:
相关推荐
《全面解析Sina微博API Java SDK:开启社交编程之旅》 在互联网的广阔天地中,社交媒体平台占据着举足轻重的地位,而Sina微博作为中国极具影响力的社交媒体之一,为开发者提供了丰富的API接口,便于他们构建与微博...
【标题】:“新浪微博C#版SDK Demo”是一个用于C#开发者的示例代码库,它展示了如何使用新浪微博的SDK(Software Development Kit)进行应用程序开发。SDK通常包含一组接口和工具,便于开发者集成特定平台的功能,如...
这个过程涉及到微博开发的Java SDK,即weibo4j-oauth2,这是一个用于集成新浪微博服务的开源库。 首先,了解OAuth2认证机制是关键。OAuth2是授权第三方应用访问用户资源的一种安全标准。在Java调用新浪微博API时,...
php新浪微博转发,发布微博apiSDK,里面有调用范例
在当今互联网时代,社交网络平台的登录接口已经成为许多网站和应用的常见功能,其中新浪微博凭借其庞大的用户基础,为开发者提供了丰富的API接口,使得用户可以通过自己的微博账号快速登录第三方网站。本篇文章将...
微博是中国最具影响力的社交媒体平台之一,而新浪微博开放平台SDK则是开发者们接入微博服务、构建第三方应用的重要工具。本文将深入探讨这个SDK的核心功能、使用场景以及如何通过它来扩展你的应用程序。 ### SDK...
### 新浪微博Java SDK应用详解 #### 一、新浪微博平台概述 ...通过以上步骤,开发者可以利用新浪微博Java SDK轻松集成微博功能到自己的应用中,同时需要注意遵守API的使用规则和限制,确保应用稳定运行。
《使用JAVA实现SINA新浪微博登录的SDK详解》 在当今的互联网时代,社交媒体平台成为了人们获取信息、分享生活的重要渠道,而新浪的微博更是其中的佼佼者。为了方便开发者集成微博登录功能,新浪提供了JAVA版的SDK,...
调试好的新浪微博SDK DEMO,下载后可以直接使用
Weibo4J是针对新浪微博的Java SDK,它封装了API接口,提供了一套方便的Java API,使得开发者可以更专注于业务逻辑而不是底层通信细节。例如,我们可以通过Weibo4J创建一个OAuth2授权对象,获取用户的访问令牌,然后...
新浪微博java sdk,下载下来导入到java项目中就可以用
《全面解析:新浪微博Sina Weibo SDK》 在数字化时代,社交媒体成为了信息传播与互动的重要平台,其中,新浪微博以其庞大的用户基数和丰富的功能,成为众多企业和个人开发者关注的焦点。为了方便开发者集成微博功能...
开发微博应用的JAVA,SDK,文件中的是jar包,直接导入即可使用!
标题 "java sdk 新浪微博数据采集代码" 涉及的核心技术是利用Java SDK来实现对新浪微博数据的抓取和处理。在这个项目中,开发者可能使用了名为`weibo4j`的开源Java库,这是一个专门用于访问新浪微博API的工具。`...
"weibo.sdk.android.sso.jar"是一个Java类库文件,它是SDK的核心组件,包含了所有与微博交互的API接口。开发者需要将这个JAR包导入到Android项目的libs目录下,并在项目构建路径中包含它,这样就可以在代码中直接...
在互联网开发中,社交媒体平台的API接口是开发者不可或缺的工具,其中新浪微博作为中国主流的社交网络之一,提供了丰富的API供开发者进行数据交互。本文将深入探讨如何使用C#语言结合新浪微博OAuth2.0 SDK,实现对...
本文将深入探讨如何在Android平台上使用新浪提供的API,特别是基于OAuth2.0授权机制的Android版新浪微博API。这个API允许开发者构建应用程序,与微博用户进行互动,包括发布和获取微博信息、管理用户关注关系、获取...
微博SDK(Software Development Kit)是一种专为开发者设计的工具包,它允许程序员通过API(Application Programming Interface)与特定平台,如新浪微博,进行交互。在这个案例中,"新浪微博SDK for c++" 是专门为...
"新浪微博ASP-SDK v1.0"是专门为ASP.NET平台设计的微博API封装库,它简化了与新浪微博API的交互过程,让开发者能够高效、便捷地实现微博登录、发布、分享、评论等功能。这个SDK的出现,消除了依赖其他语言如PHP作为...