Da Twitter ja gerade stark in Mode ist, will ich an dieser Stelle mal ein kleines Beispiel bringen wie man mit Java automatisiert twittern kann. Ich nutze das z.B. um bei https://twitter.com/weinfreund über die neusten Aktivitäten, wie neue Weingüter, Weine, Forenbeiträge usw., bei weinfreund.de zu informieren.

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Serializable;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class TwitterService implements Serializable
{
	private static final long	serialVersionUID	= 9080041366457990472L;
	private static final Log  log = LogFactory.getLog(TwitterService.class);
	private String user;
	private String passwort;

	public TwitterService()
	{
		super();
	}

	public TwitterService(String user, String passwort)
	{
		super();
		this.user = user;
		this.passwort = passwort;
	}

	public void post(String message)
	{
		try
		{
			URLConnection connection = null;
			String credentials = this.user + ":" + this.passwort;
			String encodecredentials = new sun.misc.BASE64Encoder().encode(credentials.getBytes());

			URL url = new URL("https://twitter.com/statuses/update.xml");
			String encodedData = URLEncoder.encode(message, "UTF-8");

			connection = url.openConnection();

			connection.setRequestProperty("Authorization", "Basic " + encodecredentials);
			connection.setDoOutput(true);

			OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());
			out.write("status=" + encodedData);
			out.close();

			BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
			String line;
			while ((line = in.readLine()) != null)
			{
				log.debug(line);
			}
			in.close();

		}
		catch (Exception e)
		{
			log.error(e.getMessage(), e);
		}
	}

	public void setUser(String user)
	{
		this.user = user;
	}

	public void setPasswort(String passwort)
	{
		this.passwort = passwort;
	}
}

Die Klasse TwitterService läßt sich nun einfach mittels Spring in benötigte Klassen injizieren.

Mit Java twittern
Tagged on:         

One thought on “Mit Java twittern

  • 2010-03-08 at 15:17
    Permalink

    Danke für diese Anregung. Ich werde direkt mal versuchen das umzusetzen. Das hört sich wirklich nach Web 2.0 an.

    Reply

Leave a Reply to LongboardCancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.