質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaServer Faces

JavaServer Faces(JSF)はJavaをベースとしたコンポーネントベースのwebアプリケーション開発用のフレームワークです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

525閲覧

JAVAのtwitter4jの使い方を教えてください

退会済みユーザー

退会済みユーザー

総合スコア0

JavaServer Faces

JavaServer Faces(JSF)はJavaをベースとしたコンポーネントベースのwebアプリケーション開発用のフレームワークです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2018/08/21 04:04

前提・実現したいこと

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/ツールのバージョンなど)

初めての投稿ですが、よろしくお願いします。

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/08/21 13:42

7月末に開発アカウントの規約変更があったのですが対応しましたか?←これは的外れ。 日本語のドキュメントをみてください。JSPのコードは基本書かないでください。
guest

回答1

0

ベストアンサー

動的Webプロジェクトを作成し、記載していただいているJSP ならびに twitter4j-core-4.0.7で動作させてみましたが、特にコンパイルエラーは発生せず動作しました。

ビルドパスに配置するのではなく、Webアプリケーションは、WEB-INF/lib に格納しましょう。
動的Webプロジェクトは常にWEB-INF/lib の中にある jarファイルへのビルドパスを参照します。

投稿2018/08/24 00:36

A-pZ

総合スコア12011

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問