如何通过用户名/密码的方式请参考使用scribe方式
优采云 发布时间: 2021-06-21 06:17如何通过用户名/密码的方式请参考使用scribe方式
注意:本文代码已过期,请勿模仿。其他方法请参考划线法。
最近在研究新浪微博的开发api,尝试在一些客户端应用中调用相应的api发送新浪微博。经过一番尝试,终于成功了。几个重点和对应的demo发布如下,供大家理解。
在本文中,我主要演示如何通过用户名/密码连接到新浪微博,然后阅读最新的微博信息,最后演示如何发送一个简单的微博,其他的都可以通过相应的微博访问api 处理,这里不仔细深入。
首先要申请开发者授权,也就是要在新浪上申请。直接通过地址:用微博账号登录后,创建一个应用程序即可。创建应用的目的是获取对应的app Key和app Secret。 app key会用到后面的主要API中,方便新浪追踪请求的来源。具体流程请自行google。
应用完成后,我们将开始我们的api之旅。在本文中,我们没有使用官方的java sdk,因为主要目的是一个简单的演示。如果是应用开发,还是可以下载对应的java sdk应用 是的,可以查看里面的例子,了解如何调用。
本文使用httpclient。如果使用maven,可以使用groupId作为commons-httpclient,使用artifactId作为commons-httpclient将其导入到项目中。其次,为了方便对返回数据的分析,使用了一个JSON组件(fastjson)来解析json字符串。
获取应用授权,即允许应用访问用户的相应信息(用户名和密码除外)
由于新浪使用的是auth2.0,所以整个登录过程分为两部分。一部分是登录授权,它允许我们的应用访问指定用户的相应信息。这里的信息不包括用户名。密码。在类网页应用中,即通过弹出新浪登录框,用户输入用户名和密码,授权应用使用。新浪通过验证后,会返回到我们的应用所在的主界面。第二部分是获取对应的token,相当于用户会话,以便在后续操作中可以使用这个token进行数据访问。
申请授权地址为:,完整代码如下:
获取 access_token
api 参考接口:
整个代码如下所示:
获取最新微博信息列表
api 参考接口:
代码如下:
发送微博消息
API 参考:
代码如下:
结论
其实整个过程还是很简单的。最重要的是前两步登录和获取授权。这两步就成功了,剩下的就是做一个json请求,然后传参数,得到结果,然后对结果进行处理。问题是。
值得注意的是,第二步获取access_token,官方文档中写到可以通过grant_type=password获取token信息,即输入用户名和密码。然而,这种方法需要特殊的应用。具体的申请步骤比较复杂,必须通过官方审核,非一般开发者也能做好。所以这里就不用这个了(当然,如果你用这个方法,可以把第一步和第二步合并成一)。
相关文章: