`
hekuilove
  • 浏览: 156328 次
  • 性别: Icon_minigender_1
  • 来自: 魔都
社区版块
存档分类
最新评论

新浪微博API开发流程

阅读更多
新浪微博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
0
0
分享到:
评论
2 楼 hekuilove 2015-01-01  
宁帅陈 写道
你好,我想通过java程序获取@当前登录用户的人员以及信息,怎么申请key呢?如果公司的后台系统,总不能把系统的链接地址交给新浪微博审核吧,这是我的QQ2285306632

你好,你先注册一个开发者帐号之后可以有一个测试token,如果需要申请正式的token还必须要审核通过,通过审核的其中一个要求就是必须有一个外网的可访问的url作为callback的url
1 楼 宁帅陈 2014-12-31  
你好,我想通过java程序获取@当前登录用户的人员以及信息,怎么申请key呢?如果公司的后台系统,总不能把系统的链接地址交给新浪微博审核吧,这是我的QQ2285306632

相关推荐

    新浪微博API开发简介之用户授权(PHP基础篇)

    自己在开发和学习的过程中,感觉虽然没有太大难度,但还是有一些问题是需要我们注意的,今天就我在开发和学习的过程中,简单的对利用PHP进行新浪微博API开发的内容进行一个整理和说明, 新浪微博API开发前的准备...

    基于新浪微博的移动电子商务系统

    本文所论述系统开发的核心内容就是以Android平台为基础,结合新浪微博API实现基于微博的移动电子商务系统Android客户端软件。 本文介绍了移动电子商务、Android开发平台及微博开发平台相关技术,分析了电子商务、...

    毕业设计,关于新浪微博API的Java编程..zip

    这是一个与传统的、耗时的“编译、链接和测试”形成鲜明对比的精巧的开发过程。 稳健性 Java原来是用作编写消费类家用电子产品软件的语言,所以它是被设计成写高可靠和稳健软件的。Java消除了某些编程错误,使得用它...

    android新浪微博开发

    微博Android平台SDK为第三方微博应用提供了文档易用的微博API调用服务,使第三方客户端无需了解复杂的验证,API调用过程。并可以实现分享到微博的功能,可以分享文字,或者多媒体信息到内置的分享页面,并发送到微博...

    Xweibo for Discuz!X1.5 2.1.5.zip

    Xweibo是由新浪微博团队开发的基于新浪微博API开发的免费开源的微博系统,拥有新浪微博的核心功能,具备微博发布、浏览、转发、评论、私信、收藏、话题、黑名单等核心功能以外,还满足更多运营需求:数据本地备份、...

    腾讯iWeibo免费微博系统 v1.0.zip

    iWeibo免费微博系统基于...去年10月,新浪微博开放平台也同样推出了基于新浪微博开放API开发免费开源的微博程序Xweibo系统,有用户表示,新浪腾讯两大微博同时推出微博系统后,第三方微博系统可能生存空间将再度萎缩。

    iWeibo v1.0

    iWeibo免费微博系统基于腾讯微博开放平台API开发...去年10月,新浪微博开放平台也同样推出了基于新浪微博开放API开发免费开源的微博程序Xweibo系统,有用户表示,新浪腾讯两大微博同时推出微博系统后,第三方微博系统可

    sinaweibopy:新浪微博Python SDK

    有许多社交网络提供OAuth 2身份验证和API,而snspy是适用于任何社交网络(例如Twitter,Facebook,LinkedIn,新浪微博等)的简单API包装器。 snspy为开发人员提供了独特的API接口,每个社交网络API的不同都由其...

    Android应用开发实战 (李宁) PDF扫描版

    第二部分实例篇:介绍了微博客户端的概况以及新浪微博api,然后根据微博客户端的功能划分详细地介绍了微博客户端各个功能模块的实现方法和细节,包括界面展示、代码分析,还有对所运用的理论知识的重点讲解,既便于...

    《Android应用开发实战》源码

    全书以“基础理论+实战案例+高级技巧”为组织内容的结构,其中最出彩的部分是实战部分,全书以一个经典的综合案例——新浪微博客户端贯穿全书,以迭代的方式完整地重现了整个案例的开发过程,极具操作性,配合前后的...

    python 项目开发实战 陈强 源码

    《Python项目开发实战》通过12个大型项目的实现过程展示了开发Python项目的方法和流程。全书共12章,分别讲解了AI人机对战版五子棋游戏(AI pygame 实现),在线商城系统(Django Mezzanine Cartridge 实现),房产价格...

    2010全球十大微博客产品评测(40P)

    除了Twitter外,目前比较受关注的包括MySpace9911、新浪微博、同学网、做啥网、嘀咕网、雅虎Meme、百度I贴吧、Plurk、Jaiku等。 腾讯科技依据用户产品体验、API开放性、终端拓展、用户规模及排名、商业潜力5个方面...

    微博XVMN-t v1.0 GBK.rar

    集成已发布的新浪微博asp版本sdk 使用说明: 首先配置class目录sina.asp里的四个参数 1.apiKey和secretKey是新浪创建应用时分配的(App Key,App Secret) 2.oauth_token和token_secret是通过授权后的得到的 如果...

    西安软件培训作品

    这个项目花费了将近一个月的时间,其中很多时间都在学新浪的授权机制和开放平台的api,虽然新浪微博官方提供Android sdk,但是实在看不懂(网上大多开发人员都抱怨新浪微博提供的sdk很烂)所以就索性从最底层开始...

    《iOS网络编程与云端应用最佳实践》源码

    社交篇包括了第6章~第7章,介绍了Twitter、Facebook、新浪微博社交网络客户端编程API,以及定位服务与地图应用开发。电子商务篇包括了第8章~第11章,介绍了推送通知、Newsstand应用编程、服务器产品类型应用内购买...

    IOS网络编程与云端应用最佳实践 + 随书代码.zip

    社交篇包括了第6章~第7章,介绍了Twitter、Facebook、新浪微博社交网络客户端编程API,以及定位服务与地图应用开发。电子商务篇包括了第8章~第11章,介绍了推送通知、Newsstand应用编程、服务器产品类型应用内购买...

    JavaScript File API文件上传预览

    对于基于浏览器的应用而言,访问本地文件都是一件头疼的事情,... 所以我们某些时候需要先预览再上传到服务器,特别是一些有剪切功能的需求,例如新浪微博的头像更换。但是目前能做的只能是借助插件开发或者使用fla

    jsr80 java 访问 usb

    打印本页面用电子邮件发送本页面新浪微博人人网腾讯微博搜狐微博网易微博DiggFacebookTwitterDeliciousLinked In developerWorks 中国技术主题Java technology文档库 在 Java 应用程序中访问 USB 设备 介绍 USB、...

    ShopNC多用户商城 2.1 GBK 20120716.zip

    留住买家、方便买家是平台增长的核心价值之一,QQ登录、新浪微博登录为平台注入新活力,降低会员流失的可能性,方便QQ用户或新浪微博用户直接登录。 广告管理: 广告是互联网赢利手段永恒不变的王者,商城系统...

Global site tag (gtag.js) - Google Analytics