新浪微博API现在运用比较广泛,做一个完整的开发流程Demo
1、第一步注册,就不多说了,注册帐号以及成为开发者帐号,这步操作不会的话请你马上砸掉电脑拔掉网线回家种田。
2、第二步创建应用,开发者帐号创建好了,打开新浪微博开发平台:
http://open.weibo.com
上面菜单栏点击最后一个 管理中心
完了点击左边菜单栏的我的应用,然后点击创建应用
如果是web的应用的话选择创建网站接入的应用,然后根据新浪微博的要求balabalabala自己去搞定
应用创建完毕。点击应用名称 应用信息>基本信息页面,可以看到应用的相关参数,这些参数将会在第四步用到。
3、第三步下载sdk,回到顶部的菜单栏,点击 文档 ,再点击左边菜单栏sdk,选择java sdk,然后balabala下载,这步操作有问题也请回家种田。
所谓的sdk并非是sdk(个人觉得名称有点误导),而是一个可运行的工程,下载完毕之后解压 ,并导入到eclipse,可以看到两个目录 src和example
src是新浪微博的部分
example是实例,接口的demo
4、第四步配置参数,找到src目录下的config.properties
前三个参数需要自己配置 为第二步里说过的应用参数里的参数
后面的都是默认的不需要改
前三个参数配置如下
client_ID为App Key
client_SERCRET为App Secret
redirect_URI为 OAuth2.0授权的回调URL 应用信息>高级信息>OAuth2.0 授权设置下面的授权回调页 这是一个你自己填写的URL 指向的是你自己服务器 当然在开发阶段我们可以使用任何URL 只要能够让我们了解OAuth授权的流程就好了 这里我们就输入一个http://www.baidu.com 取消授权回调页也是如此
注意这里的URL的字符串必须是一致
5、第五步获取AccessToken,正常情况下AccessToken的获取是需要通过OAuth2.0认证的,但是为了更简单我先说一种简单的方法。后面再讲OAuth2.0
还是选择最上面的菜单栏 文档>API>API测试工具
选择创建的应用 点击获取AccessToken 下面的文本框里就是我们要的AccessToken
6、第六步先做一个接口实例
去微博API里随便找一个已有权限的接口,
我随便找了一个
获取用户发布的微博 statuses/user_timeline 做测试用的
点击这个接口查看这个接口详情,可以查看到接口的每个传入参数以及返回参数 这个无需多说。我主要是说说怎么在代码里做这个接口操作
在eclipse里Ctrl+H搜索关键字statuses/user_timeline(这个为接口名,其它所有接口都可按照这种方式找到其对应的java class)找到了src里对应的class,这里我们可以搜索到Timeline.java 并且根据搜索条件我们可以找到getUserTimeline方法 以及其以下好几个方法 比如getUserTimelineByUid、getUserTimelineByName等等 这些方法都是同一个接口 只是根据不同的参数而已 请参照该接口的详细参数
选中getUserTimeline方法 使用eclipse快捷键ctrl+alt+H可以查看到该方法被什么地方使用到了 可以跟踪到 example里的GetUserTimeline.java
在这个类里完全就是调用这个接口的example了
package weibo4j.examples.timeline;
import weibo4j.Timeline;
import weibo4j.examples.oauth2.Log;
import weibo4j.model.Status;
import weibo4j.model.StatusWapper;
import weibo4j.model.WeiboException;
public class GetUserTimeline {
public static void main(String[] args) {
String access_token = "xxxxxxxxxxxxxxx"; //换成自己的AccessToken,第五步说到
Timeline tm = new Timeline();
tm.client.setToken(access_token);
try {
StatusWapper status = tm.getUserTimeline();
for(Status s : status.getStatuses()){
Log.logInfo(s.toString());
}
System.out.println(status.getNextCursor());
System.out.println(status.getPreviousCursor());
System.out.println(status.getTotalNumber());
System.out.println(status.getHasvisible());
} catch (WeiboException e) {
e.printStackTrace();
}
}
}
Run as一下 可以看到控制台都打出了我们要的结果信息
7、第七步OAuth2.0授权
做授权之前请花时间看一下什么是OAuth2.0授权:
http://open.weibo.com/wiki/%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E#OAuth2.0.E6.A6.82.E8.BF.B0
在使用新浪微博时我们经常可以在一些网站的登录的地方有 使用新浪微博登录 类似的按钮 点击一下跳转到一个页面 然后在那边登录微博帐号之后 再跳转回来 这样可以省去注册的麻烦 而在我们开发人员看来 OAuth实际上我们获取AccessToken的方式 因为几乎所有的都会有这个参数 新浪不能让我们每个接口都输入一次用户名密码去做安全认证吧 所以是通过AccessToken做安全认证 关于AccessToken的生命周期请参照开放平台 这就是OAuth2.0授权
打开example下面的OAuth4Code类 这个类是用来做授权的Demo类
package weibo4j.examples.oauth2;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import weibo4j.Oauth;
import weibo4j.model.WeiboException;
import weibo4j.util.BareBonesBrowserLaunch;
public class OAuth4Code {
public static void main(String [] args) throws WeiboException, IOException{
args = new String[2];
args[0]=null;
args[1]="all";//不要问我为什么这样写 自己去看API
Oauth oauth = new Oauth();
BareBonesBrowserLaunch.openURL(oauth.authorize("code",args[0],args[1]));
System.out.println(oauth.authorize("code",args[0],args[1]));
System.out.print("Hit enter when it's done.[Enter]:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String code = br.readLine();
Log.logInfo("code: " + code);
try{
System.out.println(oauth.getAccessTokenByCode(code));
} catch (WeiboException e) {
if(401 == e.getStatusCode()){
Log.logInfo("Unable to get the access token.");
}else{
e.printStackTrace();
}
}
}
}
Rs一下这个main方法 将会打开一个页面 就是第四步的redirect_URI配置页面
(如果这里报错或者其它情况 请自己检查一下这里redirect_URI配置是否和 管理中心>应用信息>高级信息>OAuth2.0 授权设置下面的授权回调页一致)
打开的这个Url后面有一个code参数 复制code的值 回到eclipse控制台
这个时候控制台正等待你输入一个值 输入复制的这个code
控制台会继续打印出你要的AccessToken
{"access_token":"xxxxx","remind_in":"xxxx","expires_in":157679999,"uid":"xxxx","scope":"follow_app_official_microblog"}
每个参数是什么意思请参照API
至此OAuth2.0认证完成
如果在开发中遇到什么问题 欢迎留言回复 我们一起研究一下
- 大小: 10 KB
- 大小: 46.3 KB
- 大小: 164.4 KB
- 大小: 26.4 KB
- 大小: 66.9 KB
分享到:
相关推荐
【描述】:2011年的这篇博客文章,作者分享了如何在2011年的背景下实现对新浪微博API的OAuth认证过程。通过这个过程,开发者可以构建应用,让用户在不泄露自身登录信息的情况下,授权应用获取和操作他们的微博数据。...
新浪微博API开发Web应用是一项技术性强且充满挑战的任务,它涉及到互联网应用程序与社交媒体平台的深度集成。在这个过程中,开发者需要理解并掌握一系列关键概念和技术,以实现有效的数据交互和功能实现。以下是对...
总之,Java调用新浪微博API主要涉及OAuth2认证流程、API接口的调用以及异常处理等方面的知识。weibo4j-oauth2库提供了方便的接口,使得开发者能更轻松地实现与新浪微博的集成。通过学习和实践,你可以创建自己的微博...
总结,ASP版新浪微博API登录涉及的技术点包括ASP编程、OAuth授权流程、微博API接口调用以及用户数据的安全处理。对于新手来说,理解OAuth授权机制和API调用是关键,同时要注意在ASP环境中如何处理HTTP请求和响应。...
《基于Java的新浪微博API个人信息提取技术详解》 在当今信息化社会,社交媒体已成为人们获取信息、交流思想的重要平台,其中新浪微博以其庞大的用户基础和丰富的互动功能,吸引了众多开发者进行二次开发。本文将...
本文将深入探讨如何在Android平台上使用新浪提供的API,特别是基于OAuth2.0授权机制的Android版新浪微博API。这个API允许开发者构建应用程序,与微博用户进行互动,包括发布和获取微博信息、管理用户关注关系、获取...
学习和使用新浪微博API开发WEB应用,关键在于理解OAuth授权流程和正确调用API。通过实践,你可以更好地掌握这一过程,并轻松地将微博功能整合到你的应用中。在开发过程中,可能会遇到各种问题,如参数错误、权限不足...
通过学习这个示例,你可以快速掌握Java调用新浪微博API的基本流程和技巧,为自己的项目打下基础。 总之,Java调用新浪微博API涉及到的知识点包括OAuth 2.0授权、HTTP请求与响应处理、JSON解析以及异常处理等,这些...
在接入新浪微博开放平台时,开发者需要注册应用,获取App Key和App Secret,然后通过OAuth流程获取用户的授权,才能合法地代表用户进行操作。 3. **JavaScript调用**:描述中提到“只需要js调用”,这意味着开发者...
在使用过程中,开发者需要注意的是,新浪微博API有访问限制和频率控制,防止滥用。此外,隐私和用户权益保护也是至关重要的,任何对用户数据的处理都必须遵守相关法律法规。 总的来说,《新浪微博API文件及程序范例...
在使用新浪微博API时,OAuth2.0扮演着关键角色,确保了用户数据的安全性。开发者需要先注册应用,获取App Key和App Secret,然后引导用户进行授权,获取Access Token,以此来执行后续的API调用。 以下是使用新浪...
本文将详细讲解由宋正河整理的新浪微博登录开发流程,帮助开发者理解并掌握这一过程。 一、准备工作 在进行新浪微博登录开发前,首要任务是注册成为新浪微博开发者,并创建自己的应用。开发者需要在新浪开放平台上...
【标题】"毕业设计-新浪微博API的Java编程源代码"主要涵盖了使用Java语言与新浪微博API进行交互的开发实践。在毕业设计中,这样的项目通常旨在帮助学生深入理解Web服务接口的使用,以及如何将这些接口集成到实际应用...
1. **新浪API注册与认证**:在使用新浪微博API之前,你需要在新浪开放平台上注册一个开发者账号,申请应用并获取App Key和App Secret。这两个参数是之后与微博API通信时的身份验证凭证。 2. **授权流程**:本地会员...
2. **请求签名**: 新浪微博API要求在请求中加入签名(Signature),这通常基于AppKey、AppSecret以及请求参数生成,用于防止数据被篡改。 3. **权限控制**: 不同的API权限等级不同,开发者需要明确哪些操作需要用户...
新浪微博API是新浪官方为开发者提供的接口服务,允许开发者通过HTTP请求获取或发布微博数据,实现个性化应用或者网站与微博的集成。这些接口涵盖了用户授权、数据获取、内容发布等多个功能,比如获取用户信息、发布...
`weibo4j`是一个基于Java的新浪微博API客户端,它封装了对微博API的调用,提供了简洁的API,使开发者能够轻松地进行授权、发送微博、获取用户信息等操作。例如,使用`weibo4j`,你可以方便地实现用户登录验证、获取...
在本毕业设计中,主题聚焦于使用Java编程语言与新浪微博API进行交互,旨在实现一系列功能,如发布微博、获取用户信息、评论管理等。通过这个项目,我们可以深入了解微博API的工作原理,以及如何利用Java进行实际的...