新浪微博客户端开发第一步

PS:内容已更新,请参看:http://binary.duapp.com/?p=69


一、获得开发应用所需的“通行证”App Key和App Secret

         首先必须要有新浪的账号。再打开http://open.weibo.com/登录你的账号。

点击“我是开发者”:


点击“创建应用”:


点击“客户端”:


这时,会弹出一个填写开发者信息的页面:


填写完再验证完邮箱,来到创建应用的页面:


点击“应用信息”下的“基本信息”,找到AppKeyAppSecret

二、下载SDK

接着:到http://open.weibo.com/wiki/SDK下再所需的SDK,这里是以Java为例:

可以直接到http://code.google.com/p/weibo4j/中下载到所需的JavaSDK。

将SDK导入到你所建立的,要进行开发客户端的Java项目中,点击文件“config.properties”如下:


在其中填写:


三、获取当前用户信息及发布一条微博的简单示例:

在AccessToken中添加方法:

public String getUid() {
		return uid;
	}

最后修改OAuth4Code代码如下:


package weibo4j.examples.oauth2;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import weibo4j.Oauth;
import weibo4j.Timeline;
import weibo4j.Users;
import weibo4j.Weibo;
import weibo4j.http.AccessToken;
import weibo4j.model.Status;
import weibo4j.model.User;
import weibo4j.model.WeiboException;
import weibo4j.util.BareBonesBrowserLaunch;
 
public class OAuth4Code {
         publicstatic void main(String [] args) throws WeiboException, IOException{
                   Oauthoauth = new Oauth();
                   BareBonesBrowserLaunch.openURL(oauth.authorize("code"));
                  
                   System.out.println(oauth.authorize("code"));
                   System.out.print("Hitenter when it's done.[Enter]:");
                   BufferedReaderbr = new BufferedReader(new InputStreamReader(System.in));
                   Stringcode = br.readLine();
                   Log.logInfo("code:" + code);
                  
                   AccessTokenaccessToken = null;
                   try{
                            accessToken= oauth.getAccessTokenByCode(code);
                   }catch (WeiboException e) {
                            if(401== e.getStatusCode()){
                                     Log.logInfo("Unableto get the access token.");
                            }else{
                                     e.printStackTrace();
                            }
                   }
        
                   Stringaccess_token = accessToken.getAccessToken();
                   Weiboweibo = new Weibo();
                   weibo.setToken(access_token);
                   Stringuid =  accessToken.getUid();
                   Usersum = new Users();
                   try{
                            Useruser = um.showUserById(uid);
                            //获取当前用户的信息
                            System.out.println("当前用户的名字:"+user.getName());
                            System.out.println("当前用户所发的微博数:"+user.getStatusesCount());
                            System.out.println("当前用户关注数:"+user.getFriendsCount());
                            System.out.println("当前用户粉丝数:"+user.getFollowersCount());
                   }catch (WeiboException e) {
                            e.printStackTrace();
                   }
                   //测试发送微博
                   Timelinetm = new Timeline();
                  System.out.print("请输入所要发的微博的文本内容:[Enter]:");
                   br= new BufferedReader(new InputStreamReader(System.in));
                   StringnewStatus = br.readLine();
                   tm.UpdateStatus(newStatus);
         }
}


点击运行,这是会弹开一个页面进行用户授权(PS:最开始很多人可能会以为这里的用户授权是指你的应用给用户授权,其实不然,这里是用户给你的应用授权,以允许你的应用获取该用户的信息):


注意:这里使用的新浪账号必须当前应用的账号或者你的应用的“测试用户”,每个未通过应用审核的应用可以有15位测试用户。可以在应用信息中的“高级信息”中添加“测试用户”。

输入完账号密码,点击授权,注意了,这时会出现以下页面(错误页面。。。):


看到地址栏上code=的东西,这正是我们所需要的,复制它,在控制台上黏贴,并按下Enter键,就可到看到当前用户的一些基本信息。

其它更详细的数据的获取方法可以参看新浪开发平台提供的API文档:http://open.weibo.com/wiki/API%E6%96%87%E6%A1%A3_V2

最后在控制台输入你所要发步的微博文本,测试下发送新的微博(主要的代码如下,已经存在于上面的OAuth4Code 类中):

 

Timeline tm = new Timeline();
 System.out.print("请输入所要发的微博的文本内容:[Enter]:");
 br = new BufferedReader(new InputStreamReader(System.in));
 String newStatus= br.readLine();
  tm.UpdateStatus(newStatus);

记得要输入完后按下Enter键,最后可以在自己的微博首页里看到:

四、疑问

在此,我想请问下各位大牛:有没有方法不通过浏览器,而是直接使用Java程序获取到那个code?(此问题暂时得到解决了!!!


PS:内容已更新,请参看:http://binary.duapp.com/?p=69


  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值