Domanda

Vorrei integrare il mio tumblr feed al mio sito web.Sembra che tumblr è un'API per questo, ma io non sono del tutto sicuro di come usarlo.Da quello che ho capito, chiedo la pagina, e tumblr restituisce un file xml con i contenuti del mio blog.Ma come faccio a rendere questo xml significativo html?Devo analizzarlo con php, trasformando il relativo tag di intestazioni e così via?Mi dico che non può essere dolorosa.Qualcuno ha qualche intuizione?

È stato utile?

Soluzione

È possibile utilizzare PHPTumblr , un involucro API scritto in PHP che rende i messaggi recupero di un gioco da ragazzi.

Altri suggerimenti

C'è un javascript comprendono che fa questo ora, disponibile da Tumblr (devi effettuare il login per vederlo): http: //www.tumblr.com/developers

Si finisce per essere qualcosa di simile:

<script type="text/javascript" src="http://{username}.tumblr.com/js"></script>

Se si va a http://yourblog.tumblr.com/api/read dove "yourblog" deve essere sostituito con il nome del tuo blog (attenzione, se si ospita il tuo blog Tumblr su un dominio personalizzato, come faccio io, uso quello) vedrai la versione XML del tuo blog.Si tratta davvero confusa per me su Firefox, per qualche ragione, così io uso Chrome, provare un paio di diversi browser, vi aiuterà a vedere il file XML ben formato, frastagliate e tale.

Una volta che il vostro guardando la versione XML del tuo blog, si noti che ogni post ha un po ' di dati in un attributo="valore" di orientamento.Ecco un esempio tratto dal mio blog:

<post id="11576453174" url="http://wamoyo.com/post/11576453174" url-with-slug="http://wamoyo.com/post/11576453174/100-year-old-marathoner-finishes-race" type="link" date-gmt="2011-10-17 18:01:27 GMT" date="Mon, 17 Oct 2011 14:01:27" unix-timestamp="1318874487" format="html" reblog-key="E2Eype7F" slug="100-year-old-marathoner-finishes-race" bookmarklet="true">

Quindi, c'è un sacco di modi per fare questo, vi mostrerò quello che ho usato, e la mia caduta di codice in fondo a questo post, così si può semplicemente sarto che per le tue esigenze.Avviso type="link" parte?Oppure id="11576453174" ?Questi sono i valori che andremo ad utilizzare per estrarre i dati nel tuo script PHP.

Ecco l'esempio:

<!-- The Latest Text Post -->
<?php
    echo "";
    $request_url = "http://wamoyo.com/api/read?type=regular"; //get xml file
    $xml = simplexml_load_file($request_url); //load it
    $title = $xml->posts->post->{'regular-title'}; //load post title into $title
    $post = $xml->posts->post->{'regular-body'}; //load post body into $post
    $link = $xml->posts->post['url']; //load url of blog post into $link
    $small_post = substr($post,0,350); //shorten post body to 350 characters
    echo // spit that baby out with some stylish html
        '<div class="panel" style="width:220px;margin:0 auto;text-align:left;">
            <h1 class="med georgia bold italic black">'.$title.'</h1>'
            . '<br />' 
            . '<span>'.$small_post.'</span>' . '...' 
            . '<br /></br><div style="text-align:right;"><a class="bold italic blu georgia" href="'.$link.'">Read More...</a></div>
        </div>
        <img style="position:relative;top:-6px;" src="pic/shadow.png" alt="" />
    '; 
?>

Quindi, questo in realtà è abbastanza semplice.Lo script PHP qui luoghi di dati (come il titolo del post e post di testo) dal file xml in php le variabili, e quindi gli echi di quei variabile lungo con un po ' di html per creare un div che dispone di un frammento di un post del blog.Questa funzionalità più recenti post di testo.Sentitevi liberi di usare, basta andare e cambiare quel primo url per il tuo blog.E poi scegliere i valori che si desidera dal vostro file xml.

Per esempio, diciamo che si desidera, non l'ultima, ma secondo i più recenti "foto" post.Devi cambiare la request_url a questo:

$request_url = "http://wamoyo.com/api/read?type=photo&start=1"

O diciamo che si desidera che il post più recente con un tag specifico

$request_url = "http://wamoyo.com/api/read?tagged=events";

O diciamo che si desidera un post specifico, basta usare l'id

$request_url = "http://wamoyo.com/api/read?id=11576453174";

Quindi tutto quello che dovete fare è aggiungere l' ?con qualsiasi parametro e utilizzare un & se si dispone di più parametri.

Se si vuole fare qualcosa di più elaborato, è necessario il tumblr api docs qui: http://www.tumblr.com/docs/en/api/v2

Spero che questo è stato utile!

Ci sono due modi principali per fare questo. In primo luogo, è possibile analizzare il codice XML, tirando fuori il contenuto dei tag necessari (alcuni modi per fare questo a seconda se si utilizza un SAX o DOM parser). Questa è la soluzione rapida e sporca.

È anche possibile utilizzare un trasformazione XSLT per convertire la sorgente XML direttamente al html volere. Questo è più coinvolto dal momento che si deve imparare la sintassi per modelli XSLT, che è un po 'prolisso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top