日期:2014-05-20  浏览次数:20765 次

新浪微博开放平台javaAPI调用,运行OAuth4Code.java报错,数组越界
最近开始搞新浪微博java的平台开发,按照官网的步骤申请了应用,然后填写信息,获得了App Key,App Secret.然后在高级信息里设置了授权回调页(我就设置的是百度首页了)。




然后去下载sdk,(http://code.google.com/p/weibo4j/),打开eclipse作为已有工程导入。

按照其所说步骤:

使用方法
1、 请先填写相关配置:在Config.properties里 
client_ID :appkey 创建应用获取到的appkey 
client_SERCRET :app_secret 创建应用获取到的appsecret 
redirect_URI : 回调地址 OAuth2的回调地址

修改如下图:


然后调用example里:OAuth4Code.java
运行其应该是弹出浏览器窗口获得code,但是我这里一运行这个代码就报错了。。。如下图:


错误提示:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at weibo4j.examples.oauth2.OAuth4Code.main(OAuth4Code.java:14)

对这行代码报错:
BareBonesBrowserLaunch.openURL(oauth.authorize("code",args[0],args[1]));


接口是新版本,对authorize方法重写了,以前都只有一个参数。搜了一些帖子也是只有一个参数的,这里是三个参数,问题是不是在这里呢?真的是搞不清楚啊……求高手指点

实在是不知道为什么~看到微博开发平台有人问同样的问题,但是都没有看到解决方法……
------解决方案--------------------
看到也有人说是main函数问题,但是那个人也没细说。。。。
http://open.weibo.com/qa/index.php?qa=8685&qa_1=javaapi%E6%8E%88%E6%9D%83%E8%BF%90%E8%A1%8Coauth4code-%E6%8A%A5%E9%94%99arrayindexoutofboundsexception

http://open.weibo.com/qa/index.php?qa=7584&qa_1=%E6%88%91%E5%9C%A8%E8%BF%90%E8%A1%8Coauth4code%E6%97%B6%E5%87%BA%E9%94%99%EF%BC%8Cexception-in-thread-main
------解决方案--------------------
好吧,知道为什么了……
BareBonesBrowserLaunch.openURL(oauth.authorize("code",args[0],args[1]));

后面的两个参数未指定,也是非必须的,换成
BareBonesBrowserLaunch.openURL(oauth.authorize("code","",""));
System.out.println(oauth.authorize("code","",""));


下面那一句也同样要改