修改SDK包里面Weibo.java类的A*敏*感*词*ey和Secret
优采云 发布时间: 2021-04-30 01:00修改SDK包里面Weibo.java类的A*敏*感*词*ey和Secret
在中国,微博似乎还有另一个不可忽视的发展,因为昨天有这样的新闻“中国首届微博开发者大会”,官方网站如下:
要使用新浪微博开放平台的API,您首先应获取新浪分配的App密钥和App Secret。以下是我创建应用程序后由新浪分配的应用程序密钥和应用程序秘密(应保密)。
然后下载Weibo SDK,我使用Java的weibo4j。当前以以下语言提供:
将SDK包中的Weibo.java类的App Key和App Secret修改为刚刚获得的App Key和App Secret,如下图的使用说明所示:
完成这些操作后,您可以根据提供的Demo开始编写代码。如下:
WebOAuth.java用于初始化Weibo.java类所需的App Key和App Secret,并提供获取请求令牌和访问令牌的方法,getRequestToken(),gettAccessToken()和所需的参数。在代码中。此外,还提供了用于发布文本微博的update()方法。
package weibo4j.examples; import weibo4j.Status; import weibo4j.Weibo; import weibo4j.WeiboException; import weibo4j.http.AccessToken; import weibo4j.http.RequestToken; import java.io.UnsupportedEncodingException; // Web 方式认证 public class WebOAuth { private Weibo weibo; public WebOAuth(){ // 准备好Consumer Key、Consumer Secret // 对应于新浪微博应用就是申请到的 App key 和 Secret key System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY); System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET); weibo = new Weibo(); } // 根据传入的 callback_url 获取 request token public RequestToken getRequestToken(String backUrl) { try { // 指定 callback_url 并获得 request token RequestToken requestToken = weibo.getOAuthRequestToken(backUrl); System.out.println("Request token: " + requestToken.getToken()); System.out.println("Request token secret: " + requestToken.getTokenSecret()); return requestToken; } catch (Exception e) { System.out.println("获取Request token发生异常!"); e.printStackTrace(); return null; } } // 根据传入的 request token 和 verifier 获取 access token public AccessToken gettAccessToken(RequestToken requestToken, String verifier) { try { AccessToken accessToken = weibo.getOAuthAccessToken(requestToken .getToken(), requestToken.getTokenSecret(), verifier); System.out.println("Access token: " + accessToken.getToken()); System.out.println("Access token secret: " + accessToken.getTokenSecret()); return accessToken; } catch (Exception e) { System.out.println("获取Access token发生异常!"); e.printStackTrace(); return null; } } // 根据传入的 Access Token 和内容发表微博 public void update(AccessToken access, String content) { try { weibo.setToken(access.getToken(), access.getTokenSecret()); content = new String(content.getBytes("GBK"), "UTF-8"); Status status = weibo.updateStatus(content); System.out.println("成功发表微博:" + status.getText() + "."); } catch (UnsupportedEncodingException e) { System.out.println("微博内容转编码发生异常!"); e.printStackTrace(); } catch (WeiboException e) { System.out.println("发表微博发生异常!"); e.printStackTrace(); } } }
request.jsp,用于提供callback_url(这里我们在下面自定义为callback.jsp),在获取RequestToken之后,将RequestToken保存到会话中,然后将页面重定向到callback.jsp进行验证,授权。
请点击进行Web方式的OAuth认证!
callback.jsp,在上一步中的重定向之后,oauth_verifier参数将附加到callback_url。这时,我们根据Session中存储的RequestToken和获得的oauth_verifier参数申请AccessToken。获取AccessToken后,我们会将页面重定向到writeWeibo.html页面以编写微博。
writeWeibo.html,一个非常简单的HTML文件。
发布sina微博 请在这里写上140字符以内的文本:
测试新浪微博!
updateWeibo.jsp,用于发布文本微博,即在WebOAuth.java中调用update方法。
在运行之前,我们需要准备Tomcat并将以上源文件放在正确的目录中。此外,SDK软件包中收录的commons-httpclient- 3. 1. jar软件包应添加到\ WEB-INF \ lib目录,以及我自己编译和打包的weibo4j.jar(内部是新浪微博(开放平台上的特定Java实现)。
运行Tomcat并在浏览器中访问request.jsp页面,如下所示:
单击链接,如下所示(注意地址栏中的更改):
地址栏的URL如下:
:// localhost:8080 / sinaweibo / callback.jsp
填写特定且有效的新浪微博帐户,密码并进行授权。以下是填写我用于测试和授权的微博帐户的结果:
地址栏的URL如下:
:8080 / sinaweibo / writeWeibo.html
点击“发布”,如下所示:
登录微博签出,如下所示:
检查此帐户授权的应用程序列表:
到目前为止,使用新浪微博开放平台来发布微博的OAuth方法可能就是这个过程。
摘要:
1、实际上,我仍然无法谈论很多细节。在发现问题,理解问题然后解决问题之前,我尝试了很多次;
2、如果我们登录新浪微博的帐户信息的cookie已保存在浏览器中,则在授权时无需输入帐户信息,当然您可以在没有当前帐户的情况下进行修改进行授权;
3、控制台中还输入了一些信息,例如令牌,URL和服务器返回信息,但未提供屏幕截图。
您可能会感兴趣以下内容:
OAuth和新浪微博开放平台简介
本文来自“ ant”博客,请确保保留此源