使用twitter4j v3.0.3,Twitter集成的每个方面都有效,但在对我进行身份验证/授权时,浏览器会重定向到http://api.twitter.com/login,返回“抱歉,该页面不存在!”
这只发生在第一次,即具有清除缓存或隐身窗口的浏览器。我的服务器报告它正在重定向到此URL ...
http://api.twitter.com/oauth/authenticate?oauth_token=PTlVt6aisFy7UytjsRM5poFHcdGEjGtgNpxhJ8UbQ
...浏览器确认302到...
...并且该请求为不存在的页面生成302,即
当用户从“抱歉,该页面不存在!”导航回来时页面,然后重试,oauth流程完美。
我猜这与附加的jsessionid有关吗?
这个问题出现在本地开发服务器上,但是在GAE生产中也间歇性地看到了404。
答案 0 :(得分:1)
我在这里找到了解决方案:https://stackoverflow.com/a/19690688/2698327
您正确识别了问题:GAE为用户发出的第一个请求附加了一个jsessionid参数(即创建会话时)。
为防止它这样做,您可以编辑web.xml并附加以下内容:
<context-param>
<param-name>org.mortbay.jetty.servlet.SessionURL</param-name>
<param-value>none</param-value>
</context-param>
答案 1 :(得分:0)
要正确验证,您应该通过链接中的查询参数发送适当的参数,例如:使用者密钥,消费者密钥,访问令牌和访问令牌密钥。
如果仍然找不到相同的页面错误,则可能删除了与身份验证参数关联的Twitter帐户!