スキップしてメイン コンテンツに移動

Twitter4JでTwitter公式に画像をアップロード

ローカルファイルからTwitterの公式「pic.twitter.com/スラッグ(固定URL)」へアップロードするプログラムです。Twitter4Jを使うと簡単にできました。

  • Twitter4J:2.2.5

・Twitter4J - A Java library for the Twitter API
http://twitter4j.org/en/index.html#download


使うライブラリ

  • twitter4j-core-2.2.5.jar
  • twitter4j-media-support-2.2.5.jar

ソース


package upsitemirutest;

import java.io.File;
import twitter4j.TwitterException;
import twitter4j.conf.Configuration;
import twitter4j.conf.ConfigurationBuilder;
import twitter4j.media.ImageUpload;
import twitter4j.media.ImageUploadFactory;

public class Main {

/**
* @param args
*/
public static void main(String[] args) {

ConfigurationBuilder confbuilder = new ConfigurationBuilder();

confbuilder.setOAuthAccessToken(あなたのAccess token)
.setOAuthAccessTokenSecret(あなたのAccess token secret)
.setOAuthConsumerKey(あなたのConsumer key)
.setOAuthConsumerSecret(あなたのConsumer secret);

confbuilder.setMediaProvider("TWITTER");

Configuration conf = confbuilder.build();

ImageUpload imageUpload = new ImageUploadFactory(conf).getInstance();

// アップロードする画像
File giffile = new File("./imgs/testgazoo.gif");

// ツイート本文
String tweet = "APIから画像をうpしてみるテスト";

try {
// 投稿
imageUpload.upload(giffile, tweet);
} catch (TwitterException e) {
e.printStackTrace();
}
}
}


 



実行結果



Screenshot_6


http://twitter.com/#!/takaiwa29/status/134531652830494720

コメント

  1. pic.twitter.comへのアップロードはcoreのjarだけでできますよ!
    updateStatus()メソッドで。
    https://github.com/yusuke/twitter4j/blob/master/twitter4j-core/src/test/java/twitter4j/StatusMethodsTest.java#L92

    返信削除
  2. 教えていただきありがとうございます!

    返信削除

コメントを投稿

このブログの人気の投稿

GolangでWindows GUIアプリケーション

GUIアプリ作成の前提 社内ツールとしてexeで配布 開発環境はGoLandを使う 社内ツールとしてexeを配布ということであれば、Visual StudioでC#による開発だと思います。しかしながら、Go言語を習得したいのと、GoLandの補完機能が便利で、Android Studio使っていたこともあり、とっつきやすいという点からGo縛りでGUIアプリケーションを考えたいと思います。 lxn/walk Windows application library kit for Go. Windows向けしか考えていないので、まずこのライブラリなのですが、ボタンやコンボボックスが思ったように並ばなかったり、手軽にイメージボタンを配置したりなど、簡単にレイアウトを変更できない課題に直面しました。レイアウト作成だけで時間を取られてしまいます。そう言えば、Androidアプリ開発のときは、XMLでデザイン部分を切り離してたのを思い出して、今回の調査の運びとなりました。 fyne-io/fyne Cross platform native GUIs designed for Go based on Material Design. Supports: Linux, macOS, Windows, BSD, iOS and Android. walkと比べると、クロスプラットフォームで作成できるのですが、こちらもコードの中にデザインを書いていく形でした。 therecipe/qt therecipe/qt allows you to write Qt applications entirely in Go or JavaScript. Qt Creatorなるものがあるようで、デザイン部分を切り離せる印象はあるものの、最新のPCでもビルドに時間がかかるようで、学習コストもかかるという記事を見かけて断念しました。 どうしたものかとツイートしましたら、下記のようにご助言をいただいた。 同じ課題に対し色々試した結果、PWAのフルキャッシュドに落ち着いた。中身はGo+WASMで。 https://t.co/e60whDTV16 — のぼのぼ📡 (@nobonobo) July 21, 2020 PWA 早速調べてみました。Googleが進めているプロジェクトで、ネイティブアプリのよ

Javaでprivateなfieldやmethodにアクセスする

JUnitでテストしてると、privateなフィールドにアクセスして、値を参照したりセットしたりしたくなるわけですが、よく使うのでメモしておきます。 例えば、次のような対象のクラスがあるとします。 public class ParentClass { private String hoge = "ParentClass!!"; public void dispMsg() { System.out.println("dispMsg:" + hoge); } private void privateDispMsg(String msg) { System.out.println("dispMsg:" + msg); } }

Eclipseで一通り基本的なGitを使ってみる

備忘録的にまとめておきたいと思います。おかしな点があればご指摘いただければ幸いです。 目次 環境 プロジェクト作成~初コミットまで コミットの履歴&差分を見る 元に戻す ブランチについて ブランチを作成してみる ブランチを統合するには マージする Rebaseする ローカルリポジトリからプロジェクトを取り込む コミットしたメッセージの修正 環境 Eclipse IDE for Java Developers:Juno Service Release 1 Git:上記Eclipseのプリインストール版