Twitter in Grails einbinden mit Twitter4J
Twitter kann auf sehr einfache Weise in Grails[1]-Applikationen eingebunden werden. Aufgrund der vorhandenen Grails-Plugins und Java APIs wird das Twittern in der eigenen Applikation damit zum Kinderspiel.
Eigene Applikation bei Twitter registrieren
Um mit einer fremden Applikation auf den eigenen Twitter-Account zugreifen zu können, muss die Applikation bei Twitter registriert werden. Das geschieht auf der Twitter-Seiter unter Einstellungen -> Verbindungen. Die entsprechenden Tokens, die Twitter für die Applikation generiert, werden für die Authentifzierung benötigt.
Installation und Konfiguration des Grails-Plugins Twitter4J
Unter anderem wegen der guten OAuth-Unterstützung [2] haben wir uns für das Grails-Plugin Twitter4J [3] entschieden.
Die Installation läuft Grails-typisch über "grails install-plugin twitter4j" ab. Die Konfiguration, in welcher der eigenen Applikation Zugang zum Twitter-Account gestattet wird, erreicht man über http://localhost:8080/enterprise20/twitter4j (enterprise20 steht für den eigenen Applikationsnamen). Innerhalb dieser Konfiguration werden die zuvor erzeugten Tokens benötigt.
Der erste Tweet über die eigene Applikation
Der Twitter4J Service lässt sich intuitiv in einem Grails-Controller ansprechen und so ist alles, was für den ersten Tweet benötigt wird, der folgende kleine Controller.
package com.exensio.enterprise20.controller
import org.twitter4j.grails.plugin.Twitter4jService;
import twitter4j.TwitterException
class TwitterController {
Twitter4jService twitter4jService
def maxMessageLength = 140
def postStatus = {
def message = params.twitterMessage
if (message?.size() <= maxMessageLength) {
twitter4jService.connect()
try {
twitter4jService.updateStatus(message);
} catch (TwitterException te) {
flash.error = te.message
}
} else {
flash.message = "Please limit yourself to 140 characters"
}
}
}
Fazit & weitere Möglichkeiten
Der Zugriff auf Twitter gestaltet sich mit Grails und dem richtigen Plugin also sehr einfach. Über die Möglichkeit, mehrere Twitter-Accounts in der Applikation zu verwalten, kann beispielsweise durch eine intuitive Oberfläche das Twittern unter verschiedenen Accounts deutlich vereinfacht werden. Durch Implementierung von Addons wie der automatischen Einbindung eines URL-Shorteners [4] kann dem Benutzer hilfreiche Funktionalität rund um das "normale" Twittern angeboten werden.
Links
[1] Homepage Grails Framework
[2] Das OAuth-Protokoll
[3] Das Twitter4J Grails-Plugin
[4] Zum Beispiel der Google URL Shortener