实现原理:

开发者利用sdk包开发某个应用完成后,该应用与新浪微博服务器连接,通过HTTP数据形式与服务器的API接口交换数据。在开发过程中,亦可实时调试。

各种语言的软件开发包(SDK)http://open.weibo.com/wiki/SDK

1、下载Java SDK最新的weibo4j-oauth2-beta2.0版本,详细地址和参考文档为:

http://code.google.com/p/weibo4j/,资料超全的。赞一个!!!

2、下载后weibo4j-oauth2-beta2.0.zip后解压在Eclipse目录下的workspace空间里

3、打开Eclipse后导入File-Import-General-Exisiting Projects in workspace,导入成功后出现weibo4j-oauth2的工程。

4、为了能够成功授权登录需要设置config.properties里面的值(内容如下),必须要到微博开放平台注册相关信息,地址为:http://open.weibo.com/,前提是自己注册有一个新浪微博账号和对应密码。

client_ID =

client_SERCRET =

redirect_URI =

baseURL=https://api.weibo.com/2/

accessTokenURL=https://api.weibo.com/oauth2/access_token

authorizeURL=https://api.weibo.com/oauth2/authorize

5、进入:http://open.weibo.com/后,执行“站内应用”—创建应用。创建站内应用的信息可以任意填写,最好不要绑定域名,否则配置相对比较麻烦。(填写信息会发送邮件激活)

6、创建成功后点击我的应用—应用信息,你会发现自己创建的应用自动生成的App Key和App Secret,自己需要编辑填写站内应用地址和实际地址,具体如下:

App Key: ***

App Secret: ***

站内应用地址:是指你这个应用成功发布在新浪微博的对应的地址http://apps.weibo.com/xxxxxxx (xxxxxxx自己可以任意填写命名)

应用实际地址:实际上是你本地创建的应用地址http://www.baidu.com(可以任意填写,但为了成功创建,不出现第三方授权错误,必需填写可实现的回调地址,从而获得地址栏里的“code”值,我这里用了百度官网地址)

7、填写config.properties里的对应内容。(红字加粗是自己手动填写的)

client_ID =App Key的值

client_SERCRET =App Secret的值

redirect_URI =应用实际地址的值

baseURL=https://api.weibo.com/2/

accessTokenURL=https://api.weibo.com/oauth2/access_token

authorizeURL=https://api.weibo.com/oauth2/authorize

8、编译运行weibo4j-oauth2工程下examples里weibo4j.examples.oauth2的OAuth4Code.java文件,会进入授权界面,进行成功成全后会自动跳转到回调地址的页面,由于我使用的是http://www.baidu.com,会跳到百度的页面,复制地址栏里内容如下

http://www.baidu.com/?code=xxxxxxxxxxxxxxxx,注意code后面的内容值。要根据这个code值获得accessToken,拥有accessToken认证码你的账户就得到微博的认可。编译OAuth4Code跳转到百度时,查看eclipse运行后的Console窗口出现如下内容:

https://api.weibo.com/oauth2/authorize?client_id=xxxxxxxxx&redirect_uri=http://www.baidu.com&response_type=code

Hit enter when it's done.[Enter]:code的值(必须自己填写)

在此输入code里的值,会自动出现如下内容:

0    INFO  [2012-06-08 11:00:53]  code: xxxxxxxxxxxxxxxxxx(code的值)

360  DEBUG [2012-06-08 11:00:53]  Request:

360  DEBUG [2012-06-08 11:00:53]  POSThttps://api.weibo.com/oauth2/access_token

3282 DEBUG [2012-06-08 11:00:56]  Response:

3282 DEBUG [2012-06-08 11:00:56]  https StatusCode:200

3282 DEBUG [2012-06-08 11:00:56]  Server:nginx/1.1.17

3282 DEBUG [2012-06-08 11:00:56]  Date:Fri, 08 Jun 2012 03:01:06 GMT

3282 DEBUG [2012-06-08 11:00:56]  Content-Type:text/plain;charset=UTF-8

3282 DEBUG [2012-06-08 11:00:56]  Content-Length:109

3282 DEBUG [2012-06-08 11:00:56]  Connection:keep-alive

3282 DEBUG [2012-06-08 11:00:56]  Pragma:No-cache

3282 DEBUG [2012-06-08 11:00:56]  Cache-Control:no-cache

3282 DEBUG [2012-06-08 11:00:56]  Expires:Thu, 01 Jan 1970 00:00:00 GMT

3282 DEBUG [2012-06-08 11:00:56]  Api-Server-IP:10.75.25.86

3282 DEBUG [2012-06-08 11:00:56]  X-Varnish:1117492536

3282 DEBUG [2012-06-08 11:00:56]  Age:0

3282 DEBUG [2012-06-08 11:00:56]  Via:1.1 varnish

3313 DEBUG [2012-06-08 11:00:56]  {"access_token":"XXXXXXXXXXXXXXXXX","remind_in":"26384","expires_in":26384,"uid":"XXXXXXXX"}

AccessToken [accessToken=XXXXXXXXXXXXXXXXXXX, expireIn=26384, refreshToken=,uid=XXXXXXXXXX]

这里的access_token就是认证码,这样你的账户就成功得到微博的认可。uid是我自己添加的测试用户,在应用未发布前用于测试的(可以以后设置,如果要设置,在应用信息的高级信息中添加即可,其实uid就是进入“我的微博”后的一串序列号,用以表明身份的)。

接着就是发微博了,任意地方新建一个class文件,编码如下:

import weibo4j.Timeline;

import weibo4j.Weibo;

import weibo4j.http.AccessToken;

import weibo4j.model.Status;

import weibo4j.model.WeiboException;

public class SendWeibo {

public static void main(String[] args) throws WeiboException {

// TODO Auto-generated method stub

Weibo weibo = new Weibo();

String access_token ="xxxxxxxxxxxxxxx";//这里对应accessToken=XXXXXXXXXXXXXXXXXXX的值

weibo.setToken(access_token);

Timeline tm = new Timeline();

Status status = tm.UpdateStatus("慧慧的通过新浪微博开放平台发送的第一条微博,哈哈~~");//自己所发的微博内容,不超过140个字!

}

}

进入新浪官方微博,就可以查看到自己发的微博了,嘿嘿。。。。

PS:

1.isempty方法在jdk1.5以后才支持,如果当前机器JDK版本低于1.5需要升级或者更改写法。

2.导入的jar包如果不识别,从新导入一下。

转载于:https://www.cnblogs.com/m3Lee/p/3146630.html

利用java语言在eclipse下实现在新浪微博开发平台发微博(转)相关推荐

  1. java微博开发_利用java语言在eclipse下实现在新浪微博开发平台发微博(转)

    0    INFO  [2012-06-08 11:00:53]  code: xxxxxxxxxxxxxxxxxx(code的值) 360  DEBUG [2012-06-08 11:00:53]  ...

  2. 利用JAVA语言实现支持视频点播的WEB服务器

    一.项目简介: JAVA语言是一种可移植的,简单的,健壮的嵌入式语言.并且对网络,数据库有很好的支持,基于JAVA语言的这种特性可以十分容易地建立一个小型INTERNET服务器. 本项目中,作者用JA ...

  3. java语言编写计算器_第二次作业利用java语言编写计算器进行四则运算

    随着第一次作业的完成,助教 牛老师又布置了第二次作业:用java语言编写一个程序然后进行四则运算用户用键盘输入一个字符来结束程序显示统计结果.一开始看到这个题目我也着实吓了一跳 因为不知道如何下手而且 ...

  4. 利用Java语言编写一个猜数字游戏(有次数限制)

    猜数字小游戏. 利用Java语言编写. 题目: 用代码模拟猜数字的小游戏. 思路: 1.首先需要产生一个随机数字,并且一旦产生不再变化.用Random的nextInt方法 2.需要键盘输入,所以用到了 ...

  5. Java Virtual Machine:Java语言的一个非常重要的特点就是与平台的无关性

    Java语言的一个非常重要的特点就是与平台的无关性.而使用Java虚拟机是实现这一特点的关键.一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码.而引入Java语言虚拟机后,Java ...

  6. Java调用 新浪微博API 接口发微博,逐项讲解,绝对清晰

    转载自:http://www.myexception.cn/program/1930025.html Java调用 新浪微博API 接口发微博,逐条讲解,绝对清晰 最近要做个课程设计,使用微博控制树莓 ...

  7. Java调用 新浪微博API 接口发微博(包含js微博组件、springMVC新浪登录)详解

    参考自:http://www.myexception.cn/program/1930025.html https://blog.csdn.net/qq_36580777/article/details ...

  8. java 微博sdk_Java基于新浪微博SDK实现发微博的功能

    背景 最近用实现了一个简单的发微博的功能. 新浪微博的SDK已经经历了多次更新,而网上的资料.教程大多还是基于旧版本的,很多细节上有了一些变化.本文将基于最新的新浪微博SDK介绍发微博的过程. 简介 ...

  9. java eclipse旅店管理系统代码_运用Java语言与Eclipse开发工具完成酒店管理系统的设计与实现...

    随着社会经济的发展,酒店在服务行业扮演越来越重要的角色,在酒店运作期间,其管理和服务水平直接影响到酒店的形象和声誉.为提高其自身的管理水平,加强竞争能力,提高经济效率,笔者在对酒店的日常运作进行综合调 ...

最新文章

  1. 多天线技术是LTE的重要演进方向已成为产业共识
  2. .Net精简版数据类型
  3. SQL Server 2005 Express
  4. sqlmap参数说明
  5. XML 解析错误:XML 或文本声明不在实体的开头位置,有效的解决方法
  6. 通信网络安全分层及关键技术解决
  7. 实现一个通用的生产者消费者队列(c语言版本)
  8. go interface转int_go语言学习总结(三十三)Go泛型编程
  9. 1.10.返回四舍五入后的值.round()
  10. 中级病案信息技术计算机基础知识要点,病案信息技术基础知识考试重点梳理(最新最全).doc...
  11. 推荐一款MD神器吧:重度MD用户必备神器
  12. ApacheCN 翻译/校对/笔记整理活动进度公告 2019.10.18
  13. SAP License:影响中国信息化全面预算管理八大成功案例
  14. 【三维CAD设计经验分享】CrownCAD设计:零件3D建模设计
  15. 从博弈论看高薪行业岗位
  16. 趣头条视频解析去水印原理分析过程及源码,简单又有趣
  17. 分享几个Ubuntu必装的软件
  18. 文件传输工具FileZillaWinSCP
  19. PHP app登录qq,APP配置QQ登录的详细教程
  20. hive 修改分区备注_hive修改 表/分区语句

热门文章

  1. 浙江大学_包家立教授_计算生物学3_贝叶斯算法
  2. vscode java settings设置_vscode 搭建java环境
  3. 怎么安装python3.7.3_windows系统安装python3.6.3和python3.7.0
  4. python连接数据库必须要提供用户名和密码_5.9---python连接数据库实现登录注册
  5. 图像局部特征(十七)--DenseFeature
  6. 纯新手DSP编程--5.16--目标和主机设置
  7. 嵌入式系统——文件系统
  8. 【equals与==比较】String的两种拼接
  9. python获取随机大小写字母_python获取随机大小写字母
  10. hive left join入门