前提・実現したいこと
JAVAのtwitter4j を使ってみたい
ここに質問の内容を詳しく書いてください。
twitterAPIポッケットレファレンス山本祐介著 を読みながら勉強しています。
エクリプスを使っているのですが、oauth_authorize.jsp がコンパイルできず足が止まっています。
発生している問題・エラーメッセージ
Type Exception Report
メッセージ JSPのクラスをコンパイルできません:
説明 The server encountered an unexpected condition that prevented it from fulfilling the request.
例外
org.apache.jasper.JasperException: JSPのクラスをコンパイルできません:
JSPファイル: [/oauth_authorize.jsp] の中の[8]行目でエラーが発生しました
Twitter cannot be resolved to a type
5: </head>
6: <body><%
7: //Twitter4Jを初期化
8: Twitter twitter = new TwitterFactory().getInstance();
9: twitter.setOAuthConsumer("コンシューマキー", "コンシューマシークレット");
10: String command = request.getParameter("command");
11: if ("authorize".equals(command)) {
エラーメッセージ
該当のソースコード oauth_authorize.jsp
<%@ page import="twitter4j.,twitter4j.auth." contentType="text/html; charset=UTF-8" session="true"%><!DOCTYPE html>
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body><% //Twitter4Jを初期化 Twitter twitter = new TwitterFactory().getInstance(); twitter.setOAuthConsumer("コンシューマキー", "コンシューマシークレット"); String command = request.getParameter("command"); if ("authorize".equals(command)) { //OAuth認可、まずリクエストトークンを取得 RequestToken requestToken = twitter.getOAuthRequestToken(request.getRequestURL() + "?command=callback"); session.setAttribute("requestToken", requestToken); response.sendRedirect(requestToken.getAuthorizationURL()); } else if ("callback".equals(command)) { // Twitterからコールバックを受け取った //アクセストークンを取得してセッションに格納 AccessToken accessToken = twitter.getOAuthAccessToken((RequestToken)session.getAttribute("requestToken")); session.setAttribute("accessToken", accessToken); //リクエストトークンは不要(無効)になったので破棄 session.removeAttribute("requestToken"); } else if ("tweet".equals(command)) { // ツイートする twitter.setOAuthAccessToken((AccessToken)session.getAttribute("accessToken")); request.setCharacterEncoding("UTF-8"); twitter.updateStatus(request.getParameter("tweet")); out.print("ツイートしました"); } else if ("logout".equals(command)) { //セッションに格納されているアクセストークンを破棄してログアウト session.removeAttribute("accessToken"); } %> <% if (null != session.getAttribute("accessToken")) { //アクセストークンがセッションに存在するのでOAuth認可済 %> <form action="oauth_authorize.jsp" method="POST"> いまどうしてる? <input type="text" name="tweet" size="50"/><br> <input type="hidden" name="command" value="tweet"/> <input type="submit" value="ツイート"/> </form> <a href="?command=logout">ログアウト</a> <% } else { %> <a href="?command=authorize">OAuth認可する</a> <% }%> </body> </html>JAVA (JSP)
試したこと
ビルド、パスからtwitter4j-core-4.0.7.jarは追加しました
JSPの使い方はよくわかっておらずexampleプロジェクトのWebContentフォルダにこのjspファイルを配置しているだけです
コンシューマーキーの部分は上のコードとは異なり入力しています
補足情報(FW/ツールのバージョンなど)
初めての投稿ですが、よろしくお願いします。
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー