Vorrei integrare il mio feed tumblr al mio sito web. Sembra che tumblr abbia un'API per questo, ma non sono abbastanza sicuro di come usarlo. Da quanto ho capito, richiedo la pagina e tumblr restituisce un file xml con i contenuti del mio blog. Ma come faccio a trasformare questo xml in un html significativo? Devo analizzarlo con php, trasformando i tag pertinenti in intestazioni e così via? Mi dico che non può essere così doloroso. Qualcuno ha qualche intuizione?Integrazione del blog tumblr con il sito web
risposta
Ci sono due modi principali per farlo. Innanzitutto, è possibile analizzare l'xml, estraendo il contenuto dai tag necessari (alcuni modi per farlo a seconda che si utilizzi un parser SAX o DOM). Questa è la soluzione rapida e sporca.
È inoltre possibile utilizzare uno XSLT transformation per convertire il codice sorgente xml direttamente nel codice HTML desiderato. Questo è più complicato dal momento che devi imparare la sintassi per i modelli xslt, che è un po 'prolisso.
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>
Questo è un modo super facile e funziona. Puoi anche aggiungere? Num = 4 dopo js per determinare quanti messaggi vengono mostrati (qui sarebbe 4). Puoi anche dare uno stile al CSS, ma lo svantaggio di questo metodo è che i tempi di post non sono mostrati – CodeVirtuoso
Come impostare l'offset? Il risultato per iniziare da –
Mentre sembra che ci siano più opzioni (vedi qui: http://www.tumblr.com/docs/en/api/v2#posts), sembra che l'offset sia ignorato. Potresti utilizzare l'API completa per un controllo migliore. – kweerious
Se si va a http://yourblog.tumblr.com/api/read dove "yourblog" deve essere sostituito con il nome del tuo blog (fai attenzione, se ospiterai il tuo blog Tumblr su un dominio personalizzato, come faccio io, usalo) vedrai la versione XML del tuo blog. Per qualche ragione, mi risulta davvero complicato per me su Firefox, quindi uso Chrome, provo un paio di browser diversi, aiuterà a vedere il file XML ben formato, rientrato e così via.
Una volta esaminata la versione XML del tuo blog, nota che ogni post ha un gruppo di dati con un attributo = "valore". Ecco un esempio 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, ti faccio vedere quello che ho usato, e rilasciare il mio codice in fondo a questo post in modo da poter solo su misura che alle tue esigenze. Si noti la parte type = "link"? O l'id = "11576453174"? Questi sono i valori che utilizzerai per inserire i dati nello 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 colloca i dati (come il titolo del post e il testo del post) dal file xml in variabili php, quindi echos quelle variabili insieme ad alcuni html per creare un div che presenta uno snippet da un post del blog. Questo presenta il post di testo più recente. Sentiti libero di usarlo, entra e cambia quel primo URL nel tuo blog. E poi scegli i valori che vuoi dal tuo file xml.
Ad esempio, supponiamo di volere, non il più recente, ma il secondo post "foto" più recente.Devi cambiare il request_url a questo:
$request_url = "http://wamoyo.com/api/read?type=photo&start=1"
O diciamo che si desidera che la posta 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 è virare sul? con qualsiasi parametro e utilizzare un & se si dispone di più parametri.
Se si vuole fare qualcosa di più elaborato, è necessario la documentazione tumblr API qui: http://www.tumblr.com/docs/en/api/v2
Spero che questo è stato utile!
Credo che puoi anche usare 'yourblogname.tumblr.com' su nomi di dominio personalizzati. Ad esempio 'crystilogic.tumblr.com/api/read/json' funziona per me, ma' crystilogic.tumblr.com' reindirizza a 'mixingmemory.org'. – isomorphismes
Sì, sicuramente vero. Santo ... HAHA! Ho imparato tanto da quando ho messo questa domanda, lol. Sto facendo cose node.js ora, mi piace vedere quanto ho imparato. Grazie a gente stackoverflow! – Costa
- 1. Integrazione del modulo Embedded Mailchimp con un sito Web SSL
- 2. Integrazione del calendario di Outlook sul sito Web/Altro
- 3. Come posso modificare il bookmarklet tumblr per postare su un blog tumblr specifico?
- 4. Integrazione di IMAP sul sito Web php
- 5. Integrazione di Magento con un semplice sito Web statico
- 6. È necessario inviare un'immagine al blog Tumblr in Android
- 7. Decisioni architetturali: sito principale, forum, blog
- 8. Rallentamento del sito web
- 9. Autenticazione del sito Web ASP.NET con facebook
- 10. Integrazione di servizi Web di impegno in un sito PHP
- 11. Problema con il sito Web mobile
- 12. Integrazione di un blog/CMS in un'app di Heroku Rails
- 13. Integrazione di jQuery fullcalendar nel sito Web di PHP
- 14. memcached rallenta il sito web
- 15. Trova il nome del sito Web da un'applicazione Web
- 16. Revisione/applicazione del sito web
- 17. Ricerca elastica - integrazione con l'applicazione web java
- 18. Il modo migliore per distribuire il sito Web - Arresto del pool di app o arresto del sito Web
- 19. è possibile incorporare un taccuino IPython interattivo nel mio sito Web/blog?
- 20. Problemi del sito Web ASP.NET con il browser Windows 8.1/IE 11
- 21. Aggiungere un blog a una pagina Web esistente
- 22. Migliori pratiche del sito Web SSL-protected
- 23. Sistema di badge del sito web
- 24. Come ottenere il valore del cookie nel sito Web asp.net
- 25. Tumblr simil-footer
- 26. Google Chrome Toolbar che rompe il layout del sito web
- 27. Il titolo del sito web è errato quando si condivide il collegamento su facebook o il sito web Mi piace
- 28. ARM - errore di distribuzione del sito Web
- 29. Problemi con scraping del sito web utilizzando zombie.js
- 30. Impossibile eseguire il debug del sito Web: nessun simbolo caricato
La domanda menziona specificamente php, rendendolo correlato alla programmazione. –