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
Danke für diese Anregung. Ich werde direkt mal versuchen das umzusetzen. Das hört sich wirklich nach Web 2.0 an.