当前位置:Gxlcms > 数据库问题 > 微博开放平台开发(一)获取access_token

微博开放平台开发(一)获取access_token

时间:2021-07-01 10:21:17 帮助过:10人阅读

=https://api.weibo.com/oauth2/default.html&response_type=code
第二次: https://api.weibo.com/oauth2/access_token

注意,第一次请求中有一个 client_id,这个参数需要我们在config.properties中配置,它对应我们上面创建的应用的app key。

同样的,这个配置文件里边还有一个client_SERCRET,它对应于我们上面创建的应用的app sercret,复制过来放进去。

这里还有个参数redirect_uri,比较关键。当我们运行OAuth4Code这个类的时候,在第一次请求完了之后,这个地址会被回调,同时带过来一个code参数。

我们需要复制这个参数,输入到控制台,然后回车,第二次请求便发起了,这个请求会返回我们需要的access_token。那么问题来了,这个地址怎么配置?

1.在上面创建的引用中,找到  接口管理--》授权机制  也没有个配置 回调地址的地方。填写 https://api.weibo.com/oauth2/default.html 就可以了。

2.上面的这个链接对应的要配置到 config.properties中,如下:

client_ID = 1234567890
client_SERCRET = 890a2ab550cf8d7a0090ff2f19850f3a
redirect_URI = https\://api.weibo.com/oauth2/default.html
baseURL=https://api.weibo.com/2/
accessTokenURL=https://api.weibo.com/oauth2/access_token
authorizeURL=https://api.weibo.com/oauth2/authorize
rmURL=https\://rm.api.weibo.com/2/

 

三、运行程序获取access_token。

在上面的第二步骤完成之后,配置都配置好了之后。运行下面这个类:

public class OAuth4Code {
    public static void main(String [] args) throws WeiboException, IOException{
        Oauth oauth = new Oauth();
        BareBonesBrowserLaunch.openURL(oauth.authorize("code"));
        System.out.println(oauth.authorize("code"));
        System.out.print("Hit enter when it‘s done.[Enter]:");
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String code = br.readLine();
        Log.logInfo("code: " + code);
        try{
            System.out.println(oauth.getAccessTokenByCode(code));
        } catch (WeiboException e) {
            if(401 == e.getStatusCode()){
                Log.logInfo("Unable to get the access token.");
            }else{
                e.printStackTrace();
            }
        }
    }
}

运行程序之后,在控制台输入了一行日志之后,马上浏览器打开了一个页面,经过跳转之后页面变成了下面这个:

技术分享

复制浏览器地址栏的 code 参数值。回到myeclipse中,粘贴这个值,然后回车。程序继续执行,利用这个code参数,再次发起请求 最终成功之后可以得到access_token

整个流程效果日志:

技术分享

 

四、总结本例中 oauth授权流程。

两次请求

第一次:

https://api.weibo.com/oauth2/authorize?client_id=123050457758183&redirect_uri=http://www.example.com/response&response_type=code

同意授权之后,会重定向:

//同意授权后会重定向
http://www.example.com/response&code=CODE

第二次:

根据上面的code再次发起请求。得到access_token

 

全文参考:http://open.weibo.com/

其中会碰到一些问题,主要原因是,授权地址配置的不正确。按照本文的例子配置,可以成功的运行程序。获得access_token。

 

微博开放平台开发(一)获取access_token

标签:

人气教程排行