RSS Blogartikel automatisch twittern lassen

verfasst 03.04.2010 von MediaCix | kurze URL: /t983 | 1 Kommentare

Blogartikel automatisch twittern lassen

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
<?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($message0$shorten_message_to);
  
$message substr($message0strrpos($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($curlCURLOPT_URL$twitterUrl);
 
curl_setopt($curlCURLOPT_CONNECTTIMEOUT2);
 
curl_setopt($curlCURLOPT_RETURNTRANSFER1);
 
curl_setopt($curlCURLOPT_POST1);
 
curl_setopt($curlCURLOPT_POSTFIELDS"status=$status&source=TweeterPost");
 
curl_setopt($curlCURLOPT_USERPWD"$username:$password");

 
$result curl_exec($curl);
 
$resultArray curl_getinfo($curl);
 
$httpcode curl_getinfo($curlCURLINFO_HTTP_CODE);
 
curl_close($curl);
 
 }

}

$content 'Test';
$shorturl 'http://www.mein-blog.de/mein-beitrag';

// senden
set_twitter_post($content$shorturl);
?>


Da jedoch Twitter mit 140 Zeichen arbeitet, wäre es Sinnvoll eine kürzere URL zu benutzen. Wenn das eigene System keine kurzen URLs zuläßt, kann man auch andere Dienste nutzen:

» PHP
<?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}";
?>


Die Dienste erzeugen hier eine kürzere URL vom Blogbeitrag. Bessere wäre es aber, wenn man sein Blog, sein Forum, seine Community so programmiert, dass hier automatisch schon hauseigene kurze URLs zur Verfügung stehen. Auch ist noch zu erwähnen, dass bei Twitter die Links zu den Beiträgen nicht verglichen werden. Um zu vermeiden das doppelte Beiträge gepostet werden, sollte noch erfasst werden welcher Beitrag schon zu Twitter übertragen wurde und welcher nicht. Fähige Programmierer sollten das hinbekommen :)

bisherige Kommentare

1
07.09.2010
[Mathias] meint dazu:
Hallo,
ich bin auf diesen Beitrag gestoßen, weil mein PHP-Zugriff über die Twitter API nicht mehr funktioniert. Ich habe jetzt mal Deine Variante ausprobiert und konnte auch damit nicht automatisiert twittern. Mir ist bekannt, dass richtige APS auf OAuth umstellen müssen. Aber das gilt doch nicht für automatisierte Tweets dieser Art, oder liege ich falsch?

neuen Kommentar schreiben

Ich möchte automatisch eine E-Mail bei neuen Kommentaren erhalten.



Themen mit ähnlichen Inhalten


Tags zum Beitrag

blogartikel     twitter-api