一、 初体验
新浪微博·开放平台: http://open.weibo.com/
上面的首页中有几个选项卡: “首页”、“网站接入”、“应用开发”、“开发文档
”、“论坛”、“我的应用”
“开发文档”中有“平台概述
”、“开发全攻略
”(从如何创建应用到应用通过审核的流程介绍)、“API文档
”(待学习?)、“SDK下载
”(各种开发工具包,包括 PHP、Python、Java等)
二、第一个应用:
0. OAuth标准
==>OAuth 1.0 和OAuth 2.0
OAuth 1.0已经在IETF(Internet Engineering Task Force互联网工程任务组)尘埃落定,编号是RFC5894
这也标志这OAuth已经正式成为互联网标准协议。
OAuth 2.0早已经开始讨论和建立的草案。OAuth2.0 很可能是下一代的“用户验证和授权”标准。现在百度开放平台,腾讯开放平台等大部分的开放平台都是使用的OAuth 2.0协议作为支撑。
OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。
==>认证和授权过程:
在认证和授权的过程中涉及的三方包括:
1)、服务提供方,用户使用服务提供方来存储受保护的资源,如照片,视频,联系人列表。
2)、用户,存放在服务提供方的受保护的资源的拥有者。
3)、客户端,要访问服务提供方资源的第三方应用,通常是网站,如提供照片打印服务的网站。在认证过程之前,客户端要向服务提供者申请客户端标识。
使用OAuth进行认证和授权的过程如下所示:
用户访问客户端的网站,想操作用户存放在服务提供方的资源。
客户端向服务提供方请求一个临时令牌。
服务提供方验证客户端的身份后,授予一个临时令牌。
客户端获得临时令牌后,将用户引导至服务提供方的授权页面请求用户授权。在这个过程中将临时令牌和客户端的回调连接发送给服务提供方。
用户在服务提供方的网页上输入用户名和密码,然后授权该客户端访问所请求的资源。
授权成功后,服务提供方引导用户返回客户端的网页。
客户端根据临时令牌从服务提供方那里获取访问令牌。
服务提供方根据临时令牌和用户的授权情况授予客户端访问令牌。
客户端使用获取的访问令牌访问存放在服务提供方上的受保护的资源。
1. OAuth2验证步骤
第一步:修改Config.properties的配置信息.打开这个文件,将你的信息填入,具体如下:
client_ID = (你申请应用的appkey)
client_SERCRET =(你申请应用的app_secret)
redirect_URI =(回调地址,跟网上配置的一致,本人比较穷,而且用的是客户端,所以这里就为空)
baseURL = https://api.weibo.com/2/
accessTokenURL = https://api.weibo.com/2/oauth2/access_token
authorizeURL = https://api.weibo.com/2/oauth2/authorize
第二步打开example目录下的文件OAuth4Code.java,code如下图
第三步:运行此文件,浏览器会自动打开一个网页,如下图.在里面输入你的账号、密码,点击“登陆并授权”
第四步:登陆后,浏览器会自动跳转到回调页面(由于我没有自己的网站,没有填回调页面,所以浏览器会打开一个第三方授权错误的界面),把地址栏中的“ https://api.weibo.com/2/oauth2/authorize?code=XXXXX”中的XXX copy出来,这个是你要的东东。填写到下图的Eclipse的控制台中,然后回车.
第五步:将获取到的"access_token"(在控制台输出中查找)填入到ShowUser.java文件中,进行如下操作,然后运行程序,将返回你的个人信息。
String access_token = args[0];将args[0]修改为刚才取得的"access_token";
String uid = args[1]; 将args[1]修改为刚才授权用户的ID号;
2. 第一个应用——获取用户信息
按照 “二、1.” 中的步骤,即可查看某个用户的信息,下面是设置了access_token和uid的Sample程序:
package weibo4j.examples.user;
import weibo4j.Users;
import weibo4j.Weibo;
import weibo4j.examples.oauth2.Log;
import weibo4j.model.User;
import weibo4j.model.WeiboException;
public class ShowUser {
public static void main(String[] args) {
String access_token = "2.00Mo7ylBsRvMwB3594dfcf0czAsbvD";
Weibo weibo = new Weibo();
weibo.setToken(access_token);
String uid = "1788217673"; //这个uid是猫姐的uid
Users um = new Users();
try {
User user = um.showUserById(uid);
//Log.logInfo(user.toString());
System.out.println(user);
} catch (WeiboException e) {
e.printStackTrace();
}
}
}
String uid = "1788217673"; //这个uid是猫姐的uid
其中uid的值是如何来的呢,哈哈,是通过下面这个程序来的:
package weibo4j.examples.friendships;
import weibo4j.Friendships;
import weibo4j.Weibo;
import weibo4j.examples.oauth2.Log;
import weibo4j.model.User;
import weibo4j.model.UserWapper;
import weibo4j.model.WeiboException;
public class GetFollowers {
public static void main(String[] args) {
String access_token = "2.00Mo7ylBsRvMwB3594dfcf0czAsbvD";
Weibo weibo = new Weibo();
weibo.setToken(access_token);
Friendships fm = new Friendships();
String screen_name ="蓝色激流岛";
try {
UserWapper users = fm.getFollowersByName(screen_name);
for(User u : users.getUsers()){
Log.logInfo(u.toString());
}
System.out.println(users.getNextCursor());
System.out.println(users.getPreviousCursor());
System.out.println(users.getTotalNumber());
} catch (WeiboException e) {
e.printStackTrace();
}
}
}
上面这个程序可以获得"screen_name ="蓝色激流岛"用户的所有“粉丝(followers)”的信息。其中一个分析的信息就是:
486 INFO [2012-03-02 15:56:58] User [id=1788217673, screenName=胡同裡de貓, name=胡同裡de貓, province=11, city=1000, location=北京, description=爱生活,爱妹妹,爱贝贝,爱6姐~, url=http://blog.sina.com.cn/aquadora, profileImageUrl=http://tp2.sinaimg.cn/1788217673/50/5599615830/0, userDomain=aquadora, gender=f, followersCount=508, friendsCount=101, statusesCount=1590, favouritesCount=0, createdAt=Fri Aug 06 00:00:00 CST 2010, following=true, verified=false, verifiedType=-1, allowAllActMsg=false, allowAllComment=true, followMe=true, avatarLarge=http://tp2.sinaimg.cn/1788217673/180/5599615830/0, onlineStatus=0, status=null, biFollowersCount=0, remark=潘晓, lang=zh-cn, verifiedReason=, weihao=, statusId=3419140201314017]
可爱的猫姐啊^^
三、
调用限制: http://open.weibo.com/wiki/Rate-limiting
四、
看这个小朋友的一个例子:http://blog.csdn.net/zjl234/article/details/7339993
分享到:
相关推荐
教程名称:Android平台新浪微博开发实战视频教程(10集)教程目录:【】Android项目_-6(上)【】Android项目_新浪微博-4(上)【】Android项目_新浪微博Android客户端开发ppt【】Android项目_新浪微博OAuth认证-4(下)...
在“新浪微博开发第二步”这个项目中,我们深入探讨了如何构建一个功能完善的微博应用,主要涉及以下几个核心知识点: 1. 微博功能实现:在微博应用开发中,基础功能如用户登录、分享内容至关重要。登录功能通常...
《构建与探索:新浪微博开发项目深度解析》 在数字化时代,社交媒体平台已成为人们日常生活中不可或缺的一部分,其中,新浪微博以其独特的互动性和广泛影响力在中国市场占据重要地位。本项目以“新浪微博开发”为...
《深入解析新浪微博开发源代码——基于安卓平台》 在当今移动互联网时代,社交媒体平台成为了人们日常生活、工作中不可或缺的一部分。作为中国最受欢迎的社交网络之一,新浪微博以其丰富的功能和开放的API吸引了...
c#开发的新浪微博开发demo和接口文件
《新浪微博开发SDK研究分析》 在信息技术飞速发展的今天,社交媒体平台成为了人们日常生活的重要组成部分,而新浪微博作为中国的微博领军者,其开放API和SDK为开发者提供了丰富的功能,使得第三方应用可以便捷地接...
本项目提供的是一份完整的Android新浪微博开发源码,结合了OAuth认证过程,使得开发者能够更好地理解和实践这一过程。 OAuth是一种开放标准授权协议,允许用户提供一个第三方应用访问其私密资源,而无需将用户名和...
在Android平台上进行新浪微博开发,主要涉及的是如何利用新浪提供的SDK(Software Development Kit)来实现用户登录、授权、发布微博、获取信息流等功能。本实例将会详细介绍这个过程,并讲解相关的关键知识点。 1....
《Ivan老师新浪微博开发第六讲源代码》 在这一讲中,Ivan老师分享了他在开发新浪微博应用时的部分源代码,特别关注的是基于Android平台的微博客户端开发。这个压缩包包含了一个名为"IblogV3.0"的项目,可能是该应用...
在“新浪微博开发源码”中,我们可以看到这些关键环节的具体实现。 1. **并发处理**:描述中提到下载服务器做了并发限制,这涉及到系统架构中的高并发处理。在微博平台,大量的用户同时访问和交互,服务器必须具备...
一个是sinasdk-core.jar 这个是新浪微博开发的核心包,包含授权认证工具类等 一个是sinasdk.jar 这个包是新浪微博开发的api工具包,包含各种微博api 2.微博Android平台SDK文档V2.4.0.pdf 这个是新浪微博开发帮助...
教程名称: 新浪微博Android版实例开发视频教程【】3G手机Android应用新浪微博:发布01-开发概述【】3G手机Android应用新浪微博:发布02-下载微博sdk【】3G手机Android应用新浪微博:发布03-微博客户端主架构【】3G...
开发我的新浪微博客户端-大图浏览以及保存篇 开发我的新浪微博客户端-阅读微博功能篇 开发我的新浪微博客户端-阅读微博UI篇 开发我的新浪微博客户端-用户首页面功能篇 开发我的新浪微博客户端-用户首页面UI篇 开发我...
首先,对于Android平台的微博开发,我们需要了解Android SDK的基本用法,包括Activity管理、Intent传递、UI设计以及网络请求处理等。Java作为Android的主要编程语言,是实现这些功能的基础。开发者需要熟悉Java面向...
总结来说,"新浪微博图片展示效果制作"涵盖了前端开发的多个方面:预加载和懒加载技术、瀑布流布局、图片缩略图与全屏查看、图片上传处理、水印添加以及响应式设计。每个环节都需要开发者具备扎实的Web技术基础,...
软件测试新浪微博测试 软件测试是软件工程中非常重要的一个环节,它旨在确保软件的质量和可靠性。在软件测试中,测试工具起着非常关键的作用,能够帮助测试人员更好地测试软件的功能和性能。本文将介绍软件测试的...
新浪微博API开发Web应用是一项技术性强且充满挑战的任务,它涉及到互联网应用程序与社交媒体平台的深度集成。在这个过程中,开发者需要理解并掌握一系列关键概念和技术,以实现有效的数据交互和功能实现。以下是对...
总之,这篇关于“新浪微博登录 sina”的博文和提供的源码文件“sina_oauth”,对于想要在自己的应用中实现微博登录功能的开发者来说,是一个宝贵的资源,可以帮助他们快速理解和实践OAuth授权过程,从而提高开发效率...
微博Android平台SDK为第三方微博应用提供了文档易用的微博API调用服务,使第三方客户端无需了解复杂的验证,API调用过程。并可以实现分享到微博的功能,可以分享文字,或者多媒体信息到内置的分享页面,并发送到微博...