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

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

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

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

Twitter

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

Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

Q&A

1回答

463閲覧

Twitter4jでsendDirectMessage()がうまくできない

Pake

総合スコア0

Java

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

Twitter

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

Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

0グッド

0クリップ

投稿2020/07/06 14:51

前提・実現したいこと

ProcessingでTwitter4jを使ってマウスをクリックするとAさんのアカウントにダイレクトメッセージを送るものを作ろうとしています。
https://yoppa.org/blog/3972.html
こちらを参考にして自分なりに変えてみて上記のコードを書きました。
sendDirectMessage(long, String) というものに送る相手のユーザーIDとメッセージ使おうとしたとき以下のようなものが出て実行できませんでした。どのようにすればユーザーIDとメッセージを入れることができるのでしょうか?

発生している問題・エラーメッセージ

Cannot make a static reference to the non-static method sendDirectMessage(long, String) from the type DirectMessagesResources staticでないメソッドをstaticコンテキストから参照することはできません

該当のソースコード

Java

1import twitter4j.*; 2import twitter4j.util.*; 3import twitter4j.util.function.*; 4import twitter4j.auth.*; 5import twitter4j.management.*; 6import twitter4j.json.*; 7import twitter4j.api.*; 8import twitter4j.conf.*; 9 10 11String msg = "Hello"; //メッセージ文 12long userID = xxxx; //AさんのユーザーID 13 14String consumerKey = "xxxx"; 15String consumerSecret = "xxxx"; 16String accessToken = "xxxx"; 17String accessSecret = "xxxx"; 18Twitter myTwitter; 19 20 21int ms; 22color bg = color(0, 0, 0); 23 24void setup() { 25 size(400, 400); 26 frameRate(60); 27 28 ConfigurationBuilder cb = new ConfigurationBuilder(); 29 cb.setOAuthConsumerKey(consumerKey); 30 cb.setOAuthConsumerSecret(consumerSecret); 31 cb.setOAuthAccessToken(accessToken); 32 cb.setOAuthAccessTokenSecret(accessSecret); 33 myTwitter = new TwitterFactory(cb.build()).getInstance(); 34} 35 36void draw() { 37 background(bg); 38 if (millis() - ms > 1000) { 39 bg = color(0, 0, 0); 40 } 41} 42 43 44 45void mousePressed() { 46 try { Twitter.sendDirectMessage(userID,msg); //ここでエラーが出る 47 println("send hello"); 48 ms = millis(); 49 bg = color(0, 0, 255); 50 } 51 catch (TwitterException e) { 52 println(e.getStatusCode()); 53 bg = color(255, 0, 0); 54 } 55 56 57 58}

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2020/07/06 15:22

エラーにでてるのは汎用的にすると以下ですが、これは初心者以前の問題ですよ Cannot make a static reference to the non-static method {1} from {2} staticでないメソッドをstaticコンテキストから参照することはできません
guest

回答1

0

Twitter.sendDirectMessage(userID,msg); //ここでエラーが出る

この場所を、参考にした資料と比較してみるとわかるかと。

投稿2020/07/07 00:52

herobo

総合スコア153

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問