【问题标题】:HttpSession getting error in Twitter web app by using Twitter4JHttpSession 使用 Twitter4J 在 Twitter Web 应用程序中出现错误
【发布时间】:2012-09-06 18:31:09
【问题描述】:

您好,我正在使用 Java Spring 和 JSF 构建 Web 应用程序。我正在使用 twitter 功能登录。

我正在使用 Twitter4J。以下是我的代码:

index.java::

public String getLoginTwitter() throws TwitterException, IOException
{           
    twitter = new TwitterFactory().getInstance();
    twitter.setOAuthConsumer("XXXXXXXXXXX", "XXXXXXXXXXXXXXXXX");

    RequestToken requestToken = twitter.getOAuthRequestToken();

    token = requestToken.getToken();
    tokenSecret = requestToken.getTokenSecret();

    session = (HttpSession)FacesContext.getCurrentInstance().getExternalContext().getSession(true);
    session.setAttribute("token", token);
    session.setAttribute("tokenSecret", tokenSecret);

    System.out.println("sess"+session.getAttribute("token"));

    ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
    externalContext.redirect(requestToken.getAuthorizationURL());  

    return null;      
}

此代码将用户发送到登录页面。它工作正常。我在会话中保存了令牌和令牌秘密。到此为止还好。下面是Callback url servlet的编码:

public String getTwitterInfo() throws TwitterException
{
    System.out.println("sess1"+session.getAttribute("token"));
    return null;
} 

当我想从会话中访问这些令牌时,我得到了 Nullpointer 异常。

谁能告诉我正确的方向。 提前致谢。

【问题讨论】:

    标签: java twitter


    【解决方案1】:

    我找到了答案。实际上 twitter 的回调 url 不支持 localhost。这就是为什么我使用 127.0.0.1 而不是 localhost。出于这个原因,会话给了我一个空指针异常。当我尝试从浏览器使用 localhost 运行它时,它工作正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-08
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多