Pécho tes Blogmarks : la technique !

Ce billet date de plusieurs années, ses informations peuvent être devenues obsolètes.

Bon, je suis un peu partit en sucette hier. Il y a beaucoup plus simple pour récupérer ses Blogmarks en fait. Comme l'a précisé François dans les commentaires du billet précédent, le feed Atom est disponible publiquement et il n'y a pas besoin de s'authentifier en lecture, lol, je me suis vraiment cassé la tête ! Donc ce qu'il faut faire, c'est :

  • récupérer votre fil Atom : http://api.blogmarks.net/user/username dans lequel vous remplacez username par votre nom d'utilisateur
  • installer MagpieRSS sur votre serveur si vous utilisez PHP
  • écrire un petit script pour parser votre fil Atom
  • inclure le résultat dans votre blog

Le script en question :

<?php
require_once 'rss_fetch.inc';

$url = 'http://api.blogmarks.net/user/marco?last=10';

$rss = fetch_rss($url);

echo "<ul>
";
foreach ($rss->items as $item ) {
	echo "<li>";
	$title = $item[title];
	$url2   = $item[link_related];
	$summary = $item[summary];
	echo "<a href=\"$url2\">$title</a> $summary</li>
";
}
echo "</ul>
";
?>

J'ajoute un paramètre ?last=10 à l'URL de mon feed Atom pour indiquer combien de mes derniers Blogmarks je veux importer. On peux pousser plus loin et importer les derniers Blogmarks d'une catégorie précise en utilisant par exemple : http://api.blogmarks.net/user/marco/tag/webdesign?last=10. On peut pousser encore plus loin et imaginer écrire un petit script pour laisser le choix à l'utilisateur pour la catégories de liens à afficher...

#1 Gatan

04/04/2005 21:10

Salut, ça c’est plutot cool. J’ai « Switché » de del.icio.us vers Blogmarks et je me retrouvais avec un peu beaucoup la flemme de me taper un nouveau script…

Merci !

#2 Marco

04/04/2005 21:28

Pas de quoi, j'ai un peu embrouillé tout le monde avec le post d'hier alors qu'en fait c'est pas très compliqué :-)

#3 Gatan

04/04/2005 21:44

Encore moi… Juste une petite modification pour résoudre un petit problème d’encodage des accents avec « htmlentities(); »

<?php
require_once 'rss_fetch.inc';

$url = 'http://api.blogmarks.net/user/marco?last=10';

$rss = fetch_rss($url);

echo "<ul>
";
foreach ($rss->items as $item ) {
	echo "<li>";
	$title = htmlentities($item[title]);
	$url2   = htmlentities($item[link_related]);
	$summary = htmlentities($item[summary]);
	echo "<a href=\"$url2\">$title</a> $summary</li>
";
}
echo "</ul>
";
?>

#4 Marco

04/04/2005 21:54

Excellent ! Je n'y avais pas pensé.

#5 Olivier

20/04/2005 22:20

Franchement, génial!

Avant Changement de tactique Après GoLive CS2, des promesses...

Tag Kemar Joint