Wer seine Blogartikel automatisch bei Twitter posten will kann natürlich die (noch) kostenlosen Dienste wie Twitterfeed benutzen. Bei Twitterfeed wird der RSS bzw. Feed vom eigenen Blog eingetragen. Der Feed wird dann automatisch ausgelesen und bei Twitter eingetragen - natürlich wenn man einen Account hat. Allerdings kann das eine Weile dauern, denn die Zahl der User steigt von Stunde zu Stunde und dadurch verschiebt sich das Update immer mehr. Wer in der Programmierung gut zurecht kommt, kann aber auch die Twitter-API benutzen. Dann können Blogbeiträge auch ohne RSS und sofort bei Twitter online gestellt werden. Im Anschluss ein ganz einfaches Beispiel.
Dank der Twitter-API kann man auch mittels PHP und CURL seine Blogbeiträge automatisch bei Twitter und fast zeitgleich online stellen, denn Geschwindigkeit ist hin und wieder schon die halbe Miete :) Allerdings muss sich der Programmierer erst die Twitter-API reinziehen. Über diese API können Status-Informationen, die letzten 20 Einträge ausgelesen werden oder auch neue Beiträge verfasst werden. Der Datenaustausch basiert auf XML und/oder JSON, was für die meisten auch völlig ausreicht. JSON hat natürlich einige Vorteile gegenüber XML.
Bei jedem Datenaustausch ist es wichtig, dass der Benutzername und das Passwort übertragen werden. Hier sei aber erwähnt das der Datenaustausch relativ offen basiert (kein HTTPS). Wer bedenken hat, sollte die Twitter-API gar nicht benutzen.
Auch wenn die Twitter-API-Documentation in English ist, ist jedoch alles gut beschrieben und Programmierer sollten damit klar kommen - falls nicht Beruf verfehlt :)
Zum Schluss noch ein ganz einfaches Beispiel, wie ein Blogbeitrag mittels CURL zu Twitter kommt:
<?php
function set_twitter_length($message, $url) {
$message_length = strlen($message);
$url_length = strlen($url);
if ( $url_length + $message_length > 140 ) {
$shorten_message_to = 140 - $url_length;
$shorten_message_to = $shorten_message_to - 10;
$message = substr($message, 0, $shorten_message_to);
$message = substr($message, 0, strrpos($message,' '));
$message = $message."...";
}
return $message."rn".$url;
}
function set_twitter_post($content, $shorturl) {
$message = set_twitter_length($content,$shorturl);
$username = 'benutzer';
$password = 'passwort';
$status = urlencode(stripslashes(urldecode($message)));
if ($status) {
$twitterUrl = 'http://www.twitter.com/statuses/update.xml';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $twitterUrl);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, "status=$status&source=TweeterPost");
curl_setopt($curl, CURLOPT_USERPWD, "$username:$password");
$result = curl_exec($curl);
$resultArray = curl_getinfo($curl);
$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
}
}
$content = 'Test';
$shorturl = 'http://www.mein-blog.de/mein-beitrag';
// senden
set_twitter_post($content, $shorturl);
?> <?php
$url = "http://tinyurl.com/api-create.php?url={komplette_blog_url}";
// oder
$url = "http://u.nu/unu-api-simple?url={komplette_blog_url}";
// oder
$url = "http://is.gd/api.php?longurl={komplette_blog_url}";
?>