google app engine によるTwitterbot作成

93 views
Skip to first unread message

alpha

unread,
Jun 8, 2014, 9:29:02 AM6/8/14
to twitt...@googlegroups.com
お世話になります。
またまた初歩的な質問なのですが、google app engine と twitter4j によるTwitterbot作成で行き詰ってしまったので質問させてください。

以下コードそのまま:TesttwitServlet.java
package twittest;

import java.io.IOException;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.conf.ConfigurationBuilder;

@SuppressWarnings("serial")
public class TwittestServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
ConfigurationBuilder cb = new ConfigurationBuilder();
        TwitterFactory tf = new TwitterFactory(cb.build());
        Twitter twitter = tf.getInstance();
        
try {
twitter.updateStatus("test");
} catch (TwitterException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}
}
}

twittest\war\WEB-INFにtwitter4j.propertiesを作成
以下twitter4j.propertiesそのまま

debug=true
oauth.consumerKey=*****************************************
oauth.consumerSecret=*****************************************
oauth.accessToken=*****************************************
oauth.accessTokenSecret=*****************************************


これをローカルで実行した結果が添付画像の通りです

続いてデプロイ
Deployment completed successfully とは出るのですが、管理画面から実行すると以下のエラーが表示されます。

Error: Server Error

The server encountered an error and could not complete your request.

Please try again in 30 seconds.


上記のとおりツイートもできない状況です。

いろいろ調べて試してみたのですが、毎回サーバーエラーになってしまいます。

googole app engine上でtwitter4jを使用するにあたって、何か特別なことをする必要があるのでしょうか。

どうかご教授をお願いします

キャプチャ.PNG

Yamamoto Yusuke

unread,
Jun 8, 2014, 9:48:34 AM6/8/14
to twitt...@googlegroups.com
ここらへんが関係しそうです。
http://stackoverflow.com/questions/23349950/httpservlet-is-a-restricted-class-please-see-the-google-app-engine
https://code.google.com/p/googleappengine/issues/detail?id=2324
http://uozias.hatenablog.com/entry/2014/03/17/google_app_engineで%22javax.servlet.FilterChain_is_a_restricted_class.%22っていわれたら

--
山本 裕介
@yusuke
http://samuraism.jp/
> --
> Twitter4J の最新情報をフォロー: http://twitter.com/t4j_news
> 現在のバージョン - 安定: 4.0.1, 開発中: 4.0.2-SNAPSHOT
> バグトラッキング: http://issue.twitter4j.org/youtrack/issues/TFJ
>
> このメールは次の Google グループの参加者に送られています: Twitter4J J
> このグループにメールで投稿: twitt...@googlegroups.com
> このグループから退会する: http://groups.google.com/group/twitter4j-j?hl=ja
> ---
> このメールは Google グループのグループ「Twitter4J J」に登録しているユーザーに送られています。
> このグループから退会し、グループからのメールの配信を停止するには twitter4j-j...@googlegroups.com にメールを送信してください。
> その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。
> <キャプチャ.PNG>

alpha

unread,
Jun 9, 2014, 7:06:06 AM6/9/14
to twitt...@googlegroups.com
返信ありがとうございます。

jdk1.7を使用するという解釈でよろしかったでしょうか?
eclipseの設定を確認したところ、jdk1.6になったいたので1.7にし、再度実行しましたが再びサーバーエラーになってしまいました。
しかしコマンドプロンプトでjavac -versionコマンドを使いバージョンを確認すると添付画像のとおり1.8になっていて混乱しています。
eclipseの設定には1.8の項目がないのですが

ちなみにサンプルプログラムのハローワールドは動きました。

それと、気になっていたことがひとつ
webサイトにアクセスし、アカウントを操作するわけではなく一度デプロイしたらあとは自動でツイートさせるようなTwitterbotを作成したいのですが、その場合でもTwitterデベロッパーにてコールバックURLを
指定しなければいけないのでしょうか?(現段階では空白にしています、、、

なんだかまとまりのない文章になって申し訳ないです。。。


2014年6月8日日曜日 22時48分34秒 UTC+9 yus...@mac.com:
キャプチャ.PNG
Reply all
Reply to author
Forward
0 new messages