您现在的位置是: 首页  >  数据库

新浪微博Oauth2.0授权 获取Access Token以及API的使用

程序员文章站 2024-01-20 15:07:04
...

今天需要使用新浪微博提供的API获取微博的详细信息以及用户的详细信息,所以需要使用API中的/statuses/show接口。 使用新浪微博API的前提是需要到新浪微博开放平台注册一个应用,获得App Key和App Secret,然后再根据这两个获取Access Token。下面详细介绍如

今天需要使用新浪微博提供的API获取微博的详细信息以及用户的详细信息,所以需要使用API中的/statuses/show接口。

使用新浪微博API的前提是需要到新浪微博开放平台注册一个应用,获得App Key和App Secret,然后再根据这两个获取Access Token。下面详细介绍如何获取Access Token以及如何使用新浪微博提供的API。

一、获取Access Token

1、进入新浪微博开放平台,进入应用开发,选择创建应用,这里我选择的是“网页应用”

新浪微博Oauth2.0授权 获取Access Token以及API的使用

2、填写应用的基本信息

可以随便填写,点击“创建”,就可以创建成功!新浪微博Oauth2.0授权 获取Access Token以及API的使用

创建成功后,可以查看应用的信息。主要需要的是App Key和App Secret。

新浪微博Oauth2.0授权 获取Access Token以及API的使用

3、添加授权回调页

选择刚刚创建的应用,进入到应用信息,选择高级信息,添加授权回调页。

这个一定要添加,如果没有授权回调页,是无法获取到Access Token 的,而且必须保证回调页的网址时可以访问的。

新浪微博Oauth2.0授权 获取Access Token以及API的使用

4、获取新浪微博SDK包

在新浪微博开放平台,选择文档->资源下载->SDK下载,我选择Java SDK的版本。下载完成后,解压缩,将项目导入到Eclipse中。

可以查看一下文档:readme.txt,内容为:

[plain] view plaincopyprint?

  1. 请先填写相关配置:在Config.properties里
  2. client_ID :appkey
  3. client_SERCRET :app_secret
  4. redirect_URI : 回调地址
即运行项目的前提需要进行配置。

5、配置SDK开发包

打开Config.properties文件(在src目录下)

[plain] view plaincopyprint?

  1. client_ID =
  2. client_SERCRET =
  3. redirect_URI =
  4. baseURL=https://api.weibo.com/2/
  5. accessTokenURL=https://api.weibo.com/oauth2/access_token
  6. authorizeURL=https://api.weibo.com/oauth2/authorize
  7. rmURL=https://rm.api.weibo.com/2/
需要你填写client_ID、client_SERCRET、redirect_URI ,这一定要与你的应用相对应。格式和下方的相同。不要加双引号,不要在结尾加分号。

6、获取Access Token

打开example资源文件夹下,weibo4j.examples.oauth2文件夹下的OAuth4Code.java

新浪微博Oauth2.0授权 获取Access Token以及API的使用

将代码:

[plain] view plaincopyprint?

  1. BareBonesBrowserLaunch.openURL(oauth.authorize("code",args[1],args[2]));
  2. System.out.println(oauth.authorize("code",args[1],args[2]));
修改为:

[plain] view plaincopyprint?

  1. BareBonesBrowserLaunch.openURL(oauth.authorize("code","",""));
  2. System.out.println(oauth.authorize("code","", ""));
即除去args参数。

然后选择run as Java Application,打开了浏览器,即打开的是你填写的回调地址,注意查看此时的url,最后一部分是code=XXXXXXXXXXXXXXXXXXXXX。复制这个code的值。查看Eclipse的控制台窗口:

新浪微博Oauth2.0授权 获取Access Token以及API的使用
输入刚刚获得的code值,点击回车。

新浪微博Oauth2.0授权 获取Access Token以及API的使用

这时已经获得了access_token值和uid的值,现在你就可以使用access_token来运行example中的程序了。注意,access_token的值有一定的时效性,access_token失效后需要重新申请一下,即重复第6步,每次access_token的值是不会改变的。

二、运行example实例程序

我选择的是weibo4j.examples.timeline中的ShowStatus.java。将access_token换成刚才得到的值,id指的是微博的ID,运行,即可得到有关微博的信息以及用户的信息。

新浪微博Oauth2.0授权 获取Access Token以及API的使用

其他的程序也是相同的道理。


http://blog.csdn.net/xyw_eliot/article/details/8907918