`
Jelen_123
  • 浏览: 70547 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

基于java的新浪API开发流程

阅读更多
       这两天由于在用htmlunit和httpclient实现登录新浪微博上遇到了一些麻烦,不得不转到直接用新浪提供的API来实现这些功能。
       要用java来实现新浪API的开发,下面是一些流程的总结:
1,下载java  JDK,
      http://open.weibo.com/wiki/index.php/SDK#Java_SDK
2,注册新浪的用户,在开放平台上创建自己的应用http://open.weibo.com/development
然后获得新浪提供的Appkey,和App secret这两个号码,进行开发必须得拥有的两个号码,是新浪提供的给用户开发基于新浪微博的应用的口令吧,先把这两个号码记录下来。
ps:为了能正常的进行一下的程序执行,需要在“我的应用”下,“编辑属性”-》“授权设置”,里面是一个回调地址,在下面的3点有说到。然后是“安全设置”,进行域名绑定,是回调地址的域名,下一步是“测试用户”,用来测试你的这个应用的用户,查到你的Uid,添加即可。(Uid是点击你的微博首页时,显示在url上的那串数字)。OK!
3,将下载下来的JDK解压,导入到Myeclipse中(这个应该不是问题吧),新浪提供的JDK已经有一些例子了,很好的说明了如果去使用这个JDK.好了,导入后要修改一个文件,叫config.properties的配置文件,在Client_ID上填写之前获取到的Appkey,Client_SCRETE上填写之前获取到的App secret,然后就到了redirect_URL,这个是回调地址,用于在你执行程序后返回一个code给你,之前一直不知道回调地址是啥,后来摸索了一下才知道这个地址只要是一个能访问的网址即可,只是用于在执行的时候在这个网址后面传送一个code给你,我是选了新浪的一些可以访问的网址的。
4,设置后这些之后就可以执行example下的weibo4j.examples下的OAuth4code文件了,执行后回弹出一个页面,只要用你的新浪号授权即可,这时会打开一个刚才设定的回调页面,网址后面有code,获得code后,在程序执行的控制台上输入这个code,回车后就能获取Accesstoken这好号码了,这个是我们以后开发的时候使用的号码。
OK了,获取到这个号码之后就可以进行程序的开放了,看一下执行一个例子,如weibo4j.examples.user下的showuser,把里面的access_token改成你获得的那个,uid改成你自己的,就可以执行程序了。以后的开发也是类似~
分享到:
评论
5 楼 mingyanhuang 2013-08-07  
你好,我也是按照你说的去操作,但是当输入那个code的以后一直报错,请大神帮看下,
Hit enter when it's done.[Enter]:b7a436d46057b2049970761fe0a61a24
0    INFO  [2013-08-07 16:03:32]  code: b7a436d46057b2049970761fe0a61a24
118  DEBUG [2013-08-07 16:03:32]  Request:
119  DEBUG [2013-08-07 16:03:32]  POSThttps://api.weibo.com/oauth2/access_token
2076 INFO  [2013-08-07 16:03:34]  I/O exception (java.net.SocketException) caught when processing request: Connection reset
2077 INFO  [2013-08-07 16:03:34]  Retrying request
2096 INFO  [2013-08-07 16:03:34]  I/O exception (java.net.SocketException) caught when processing request: Connection reset
2096 INFO  [2013-08-07 16:03:34]  Retrying request
2116 INFO  [2013-08-07 16:03:34]  I/O exception (java.net.SocketException) caught when processing request: Connection reset
2116 INFO  [2013-08-07 16:03:34]  Retrying request
2136 INFO  [2013-08-07 16:03:34]  e.getErrorCode():-1
2137 INFO  [2013-08-07 16:03:34]  e.getStatusCode():-1
weibo4j.model.WeiboException: Connection reset
at weibo4j.http.HttpClient.httpRequest(HttpClient.java:422)
at weibo4j.http.HttpClient.post(HttpClient.java:302)
at weibo4j.Oauth.getAccessTokenByCode(Oauth.java:80)
at weibo4j.examples.oauth2.OAuth4Code.main(OAuth4Code.java:23)
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputRecord.java:293)
at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:331)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:798)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1138)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:632)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
at org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:506)
at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2114)
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
at weibo4j.http.HttpClient.httpRequest(HttpClient.java:396)
... 3 more

帮忙看下问题出在哪,谢谢
4 楼 Jelen_123 2012-08-26  
WindTaylor 写道
最近我也是在尝试用HtmlUnit登录新浪微博时无从下手。你遇到的问题是什么?我遇上的问题貌似是由于登录框是js动态生成的html元素,而导致htmlUnit获取HtmlElement时无法找到Element

嗯嗯,是的,通过这个可以登录上去,能获取登录的信息,但是我觉得可能是因为微博的那些显示的信心都是js动态生成的,htmlunit解析处理js好像不是很好用,一直获取不了微博信息。。。
3 楼 WindTaylor 2012-08-09  
最近我也是在尝试用HtmlUnit登录新浪微博时无从下手。你遇到的问题是什么?我遇上的问题貌似是由于登录框是js动态生成的html元素,而导致htmlUnit获取HtmlElement时无法找到Element
2 楼 Jelen_123 2012-02-07  
fqeunagn 写道
看君一言,胜过自己调试十天啊···在下菜鸟,新浪微博的开发有挺多地方不是很懂,以后要多和大神请教了。


大神远不能叫,闻道有先后而已。。。
1 楼 fqeunagn 2012-01-09  
看君一言,胜过自己调试十天啊···在下菜鸟,新浪微博的开发有挺多地方不是很懂,以后要多和大神请教了。

相关推荐

    java新浪微博(含源代码)

    Java 新浪微博API开发是一个广泛涉及的技术领域,涵盖了网络编程、OAuth认证、JSON解析、HTTP请求等多个方面。在这个项目中,我们重点讨论基于Java实现的新浪微博API客户端,它提供了访问和交互微博数据的能力。 ...

    基于Java的新浪微博爬虫研究与实现.pdf

    本研究针对当前使用API和网页版爬虫在数据采集上存在的问题,提出并实现了一种基于Java的新浪微博爬虫系统。该系统旨在通过技术手段,更加高效、准确地获取微博数据,为后续的数据分析和挖掘工作打下坚实基础。 在...

    基于java开发的新浪读书小程序

    在本项目中,“基于Java开发的新浪读书小程序”是一个利用Java技术栈构建的轻量级应用程序,主要用于提供在线阅读和图书管理服务。这个小程序可能涵盖了Web开发、后端服务、数据库交互以及用户界面设计等多个方面的...

    新浪微博API提取个人信息

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

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

    【Java毕业设计】基于新浪微博API的Java编程是一个典型的Web开发项目,它涵盖了多个重要的Java技术和互联网应用开发的实践。在这个项目中,学生通常会学习如何使用Java语言与微博的开放API进行交互,实现一系列功能...

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

    在这个毕业设计项目中,主题是使用Java编程语言与新浪微博API进行交互。这涉及到多个IT领域的知识点,包括Web开发、API接口、Java编程、数据传输以及社交媒体应用开发。下面将详细阐述这些关键点。 1. **Java编程**...

    基于Java的新浪微博爬虫研究与实现.zip

    在本项目"基于Java的新浪微博爬虫研究与实现"中,我们将探讨如何使用Java语言构建一个功能完善的微博数据抓取工具。爬虫是网络数据挖掘的重要手段,它能自动化地从互联网上搜集信息,对于社交媒体分析、市场研究、...

    -疯狂java新浪微博

    标题“疯狂java新浪微博”可能指的是一个关于使用Java技术开发新浪微博应用的项目或教程。这个项目的重点可能是教授如何利用Java编程语言以及相关的Web开发框架来构建一个功能完备的微博平台,或者至少是其部分功能...

    新浪微博java SDK应用

    新浪微博开放平台是一个基于微博客系统的开放平台,为开发者提供了海量的微博信息、粉丝关系以及便捷的信息传播渠道。通过登录平台并创建应用,开发者可以通过平台提供的开放接口(Open API)来读取和写入微博系统,...

    仿新浪微博的一个java+web中级项目Java源码

    该项目是一个基于Java技术栈开发的中级Web应用,旨在模拟新浪微博的功能。通过分析其源码,我们可以深入了解Java在Web开发中的应用以及相关技术的实践。以下是一些关键知识点的详细说明: 1. **Java Web开发基础**...

    基于新浪微博开放平台的Android应用开发毕业设计_说明.doc

    【基于新浪微博开放平台的Android应用开发】 这篇毕业设计主要探讨了如何利用新浪微博开放平台来开发一个Android应用程序。新浪微博开放平台提供了API接口,允许开发者构建与微博互动的应用,从而拓宽社交媒体的...

    java实现新浪微博第三方登录

    5. **获取access_token**:使用App Secret和之前获取的code,通过POST请求向新浪API发送请求,换取access_token以及refresh_token。access_token是访问用户微博资源的凭证,refresh_token用于刷新过期的access_token...

    新浪微博api

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

    基于新浪微博开放平台的android应用开发毕业(论文)设计.doc

    这篇毕业设计论文的主题是“基于新浪微博开放平台的Android应用开发”,主要探讨了如何利用Android技术构建一个能够与新浪微博接口交互的应用程序。这个应用涵盖了多个核心功能模块,如用户登录、微博浏览、内容发布...

    基于新浪微博开放平台的Android终端应用设计毕业论文.docx

    本文主要探讨了基于新浪微博开放平台的Android终端应用的设计与实现,这是计算机专业的一份毕业设计论文。该设计旨在创建一个Android应用程序,使用户能够在移动设备上便捷地使用新浪微博服务。 在设计过程中,...

    精品专题资料(2021-2022年收藏)基于JAVA的社交网络的信息采集系统的研究与设计.docx

    【基于JAVA的社交网络的信息采集系统的研究与设计】 在当今数字化时代,社交网络已经成为人们交流、分享信息的重要平台。以JAVA编程语言为基础的信息采集系统在社交网络数据分析和研究中扮演着关键角色。本文主要...

    基于android开发平台的新浪微博的实现(终版).pdf

    总结以上知识点,可以看到开发基于Android平台的新浪微博客户端是一个多方面的任务,涉及Android应用开发、SDK的使用、API调用、OAuth认证、开发工具和平台适配等多个方面的技能。开发者需要掌握这些知识才能成功...

    005基于安卓Android的新浪微博系统.rar

    【标题】:“005基于安卓Android的新浪微博系统.rar”揭示了一个项目,旨在开发一个运行在Android平台上的新浪微博客户端应用。这个应用允许用户在移动设备上实现与新浪微博平台的交互,包括浏览、发布、转发微博,...

Global site tag (gtag.js) - Google Analytics