`
hekuilove
  • 浏览: 158872 次
  • 性别: 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 Oauth认证.

    【描述】:2011年的这篇博客文章,作者分享了如何在2011年的背景下实现对新浪微博API的OAuth认证过程。通过这个过程,开发者可以构建应用,让用户在不泄露自身登录信息的情况下,授权应用获取和操作他们的微博数据。...

    新浪微博API开发WEB应用

    新浪微博API开发Web应用是一项技术性强且充满挑战的任务,它涉及到互联网应用程序与社交媒体平台的深度集成。在这个过程中,开发者需要理解并掌握一系列关键概念和技术,以实现有效的数据交互和功能实现。以下是对...

    最新JAVA调用新浪微博API之发微博、发图片

    总之,Java调用新浪微博API主要涉及OAuth2认证流程、API接口的调用以及异常处理等方面的知识。weibo4j-oauth2库提供了方便的接口,使得开发者能更轻松地实现与新浪微博的集成。通过学习和实践,你可以创建自己的微博...

    ASP版新浪微博API登录

    总结,ASP版新浪微博API登录涉及的技术点包括ASP编程、OAuth授权流程、微博API接口调用以及用户数据的安全处理。对于新手来说,理解OAuth授权机制和API调用是关键,同时要注意在ASP环境中如何处理HTTP请求和响应。...

    新浪微博API提取个人信息

    《基于Java的新浪微博API个人信息提取技术详解》 在当今信息化社会,社交媒体已成为人们获取信息、交流思想的重要平台,其中新浪微博以其庞大的用户基础和丰富的互动功能,吸引了众多开发者进行二次开发。本文将...

    Android版新浪微博API(OAuth2.0授权)

    本文将深入探讨如何在Android平台上使用新浪提供的API,特别是基于OAuth2.0授权机制的Android版新浪微博API。这个API允许开发者构建应用程序,与微博用户进行互动,包括发布和获取微博信息、管理用户关注关系、获取...

    快速学习和使用新浪微博API开发WEB应用

    学习和使用新浪微博API开发WEB应用,关键在于理解OAuth授权流程和正确调用API。通过实践,你可以更好地掌握这一过程,并轻松地将微博功能整合到你的应用中。在开发过程中,可能会遇到各种问题,如参数错误、权限不足...

    新浪微博api调用实例 java 测试过

    通过学习这个示例,你可以快速掌握Java调用新浪微博API的基本流程和技巧,为自己的项目打下基础。 总之,Java调用新浪微博API涉及到的知识点包括OAuth 2.0授权、HTTP请求与响应处理、JSON解析以及异常处理等,这些...

    新浪微博开放平台接入

    在接入新浪微博开放平台时,开发者需要注册应用,获取App Key和App Secret,然后通过OAuth流程获取用户的授权,才能合法地代表用户进行操作。 3. **JavaScript调用**:描述中提到“只需要js调用”,这意味着开发者...

    新浪微博API文件及程序范例

    在使用过程中,开发者需要注意的是,新浪微博API有访问限制和频率控制,防止滥用。此外,隐私和用户权益保护也是至关重要的,任何对用户数据的处理都必须遵守相关法律法规。 总的来说,《新浪微博API文件及程序范例...

    新浪微博开放平台API使用笔记及演示程序

    在使用新浪微博API时,OAuth2.0扮演着关键角色,确保了用户数据的安全性。开发者需要先注册应用,获取App Key和App Secret,然后引导用户进行授权,获取Access Token,以此来执行后续的API调用。 以下是使用新浪...

    新浪微博登陆开发流程 宋正河整理

    本文将详细讲解由宋正河整理的新浪微博登录开发流程,帮助开发者理解并掌握这一过程。 一、准备工作 在进行新浪微博登录开发前,首要任务是注册成为新浪微博开发者,并创建自己的应用。开发者需要在新浪开放平台上...

    毕业设计-新浪微博API的Java编程源代码

    【标题】"毕业设计-新浪微博API的Java编程源代码"主要涵盖了使用Java语言与新浪微博API进行交互的开发实践。在毕业设计中,这样的项目通常旨在帮助学生深入理解Web服务接口的使用,以及如何将这些接口集成到实际应用...

    本地会员与新浪微博api绑定和同步登陆(文件 数据库 教程)

    1. **新浪API注册与认证**:在使用新浪微博API之前,你需要在新浪开放平台上注册一个开发者账号,申请应用并获取App Key和App Secret。这两个参数是之后与微博API通信时的身份验证凭证。 2. **授权流程**:本地会员...

    新浪微博第三方登陆API

    2. **请求签名**: 新浪微博API要求在请求中加入签名(Signature),这通常基于AppKey、AppSecret以及请求参数生成,用于防止数据被篡改。 3. **权限控制**: 不同的API权限等级不同,开发者需要明确哪些操作需要用户...

    sina微博API接口(php)

    新浪微博API是新浪官方为开发者提供的接口服务,允许开发者通过HTTP请求获取或发布微博数据,实现个性化应用或者网站与微博的集成。这些接口涵盖了用户授权、数据获取、内容发布等多个功能,比如获取用户信息、发布...

    新浪微博api

    `weibo4j`是一个基于Java的新浪微博API客户端,它封装了对微博API的调用,提供了简洁的API,使开发者能够轻松地进行授权、发送微博、获取用户信息等操作。例如,使用`weibo4j`,你可以方便地实现用户登录验证、获取...

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

    在本毕业设计中,主题聚焦于使用Java编程语言与新浪微博API进行交互,旨在实现一系列功能,如发布微博、获取用户信息、评论管理等。通过这个项目,我们可以深入了解微博API的工作原理,以及如何利用Java进行实际的...

Global site tag (gtag.js) - Google Analytics