9 mars

Que mes contributions à la catégorie gauche hebdomadaire avez fait une pause pendant un certain temps, était aussi le fait que je copie les liens de se fâcher.

Alors, que faites-vous en tant que programmeur, lorsque la pression de la maladie est assez élevé - vous lisez un API (dans ce cas de delicious.com ), prend la langue de leur choix (pour moi Groovy ) et prend des mesures correctives.

L'ancêtre de gestionnaires signet en ligne delicious.com fournit une API REST disponibles. Groovy offre le module Http Builder est un outil puissant qui rend le travail avec des ressources basés sur HTTP extrêmement facile.

Après une authentification réussie d'une demande valide et obtenir une réponse XML qui pourrait ressembler à ceci:

  Une
 2
 3
 4
 5
 6
 7
 8
 9
 10
  "" user = "user" > Tag = <Posts utilisateur "" = "user">
   "http://www.weather.com/" description = "weather.com" <Href = post "http://www.weather.com/" description = "weather.com"
   tag = "weather reference" hash = "6cfedbe75f413c56b6ce79e6fa102aba" tag = "référence météo"
   /> temps = "2005-11-29T20: 30:47 Z" />
     ...
   "http://www.nytimes.com/" <Href = post "http://www.nytimes.com/"
   description = "Le New York Times - Nouvelles Breaking Nouvelles du Monde, & Multimédia"
   hash = "ca1e6357399774951eed4628d69eb84b" étendue = "exige une connexion" hash = "ca1e6357399774951eed4628d69eb84b"
   time = "2005-11-29T20:30:05Z" /> tag = "nouvelles des médias" time = "2005-11-29T20: 30:05 Z" />
 </ Messages> 

Vous pouvez tester une seule fois sur la ligne de commande en utilisant curl :

  > Curl https://user:passwd @ api.del.icio.us/v1/posts/recent 

Certains, comme les URL posts/all vous ne devriez pas appeler trop souvent, car ils sont limités. Pour ce faire encore (comme moi) vous obtenez l'erreur 999e Il est préférable parce que les dernières entrées (par défaut 15) posts/recent à poser. L'ensemble du programme, puis me regarda comme ceci:

  Une
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
  importer groovyx.net.http. * 
 groovy.util.slurpersupport.GPathResult importation 

 Délicieux Bookmark classe Client {

    args ) { public static void main (args) {
       DeliciousBookmarkClient ( ) def dc = new Délicieux signet client ()
       cc. demande ()
    }

    demande du public () {
       try {
          / / Authentification
          RESTClient ( 'https://username:password@api.del.icio.us/v1/posts/recent' ) rc = new def RESTClient ('@ https://username:password api.del.icio.us/v1/posts/recent')
          "username" , "password" rc. auth. base "username", "password"

          Demande / / et cocher la réponse
          ( "count" : "5" ) rc = def resp get ("count" "5").
          == 200 affirmer, respectivement. état ​​== 200
          resp. data instanceof GPathResult ) assert (ou des données instanceof GPathResult)

          . post les messages récents def = respectivement. données. post
          recentPosts. size ( ) println "Nombre de messages" + les messages récents. size ()

          / / HTML préparation des liens et la description
          println "<dl>"
          post -> les messages récents chaque poste {-.>
             ( ) desc = description def après @. text ()
             ( ) def après @ href = href. text ()
             println "<dt> <a href= \" $href \"> $ desc </ a> </ dt>"
             println "<dd> $ desc </ dd>"
          }
          println "</ dl>"
       ( e ) { } Catch (e) {
          println e réponse. statut
          e out.println un message
       }
    }   
 } 

L'API peut bien sûr également ajouter et supprimer des signets. En va de même pour les tags et étiquettes faisceaux. Ce ne laisse rien à désirer.

gklinkmann écrit par \ \ tags: , ,

No Responses to "délicieux groovy - Bookmark automate"

  1. groovy zootool - Bookmark automate "tout-IT Says:

    [...] J'ai des produits similaires il ya quelque temps pour que mon ex - gestionnaire de signets del.icio.us [...]

Ajouter un commentaire

Oui, je voudrais être notifié de commentaires!