Pergunta

Gostaria de integrar meu feed do Tumblr ao meu site.Parece que o tumblr tem uma API para isso, mas não tenho certeza de como usá-la.Pelo que entendi, solicito a página, e o tumblr retorna um arquivo xml com o conteúdo do meu blog.Mas como faço para transformar esse xml em html significativo?Devo analisá-lo com php, transformando as tags relevantes em cabeçalhos e assim por diante?Digo a mim mesmo que não pode ser tão doloroso.Alguém tem alguma ideia?

Foi útil?

Solução

Você pode usar Phptumblr, um invólucro de API escrito no PHP, que facilita a recuperação de postagens.

Outras dicas

Há um JavaScript incluindo isso agora, disponível no Tumblr (você precisa fazer login para vê -lo): http://www.tumblr.com/developers

Acaba sendo algo assim:

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

Se você vai para http://seublog.tumblr.com/api/read onde "seublog" deve ser substituído pelo nome do seu blog (tenha cuidado, se você hospedar seu blog do Tumblr em um domínio personalizado, como eu, use-o), você verá a versão XML do seu blog.Por algum motivo, fica muito confuso para mim no Firefox, então eu uso o Chrome, tento alguns navegadores diferentes, vai ajudar a ver o arquivo XML bem formado, recuado e tal.

Ao olhar a versão XML do seu blog, observe que cada postagem contém um monte de dados na orientação atributo = "valor".Aqui está um exemplo do meu 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">

Então, há muitas maneiras de fazer isso, vou mostrar a que usei e deixar meu código no final deste post para que você possa adaptá-lo às suas necessidades.Observe a parte type="link"?Ou o id="11576453174" ?Esses são os valores que você usará para extrair dados para seu script PHP.

Aqui está o exemplo:

<!-- 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="" />
    '; 
?>

Então, isso é bastante simples.O script PHP aqui coloca dados (como o título e o texto do post) do arquivo xml em variáveis ​​php e, em seguida, ecoa essas variáveis ​​junto com algum html para criar um div que apresenta um trecho de uma postagem do blog.Este apresenta a postagem de texto mais recente.Sinta-se à vontade para usá-lo, basta entrar e alterar o primeiro URL para o seu próprio blog.E então escolha os valores desejados em seu arquivo xml.

Por exemplo, digamos que você queira não a postagem mais recente, mas a segunda "foto" mais recente.Você tem que alterar o request_url para isto:

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

Ou digamos que você queira a postagem mais recente com uma tag específica

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

Ou digamos que você queira uma postagem específica, basta usar o id

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

Então tudo que você precisa fazer é aderir ao ?com qualquer parâmetro e use um & se você tiver vários parâmetros.

Se você quiser fazer algo mais sofisticado, precisará dos documentos da API do Tumblr aqui: http://www.tumblr.com/docs/en/api/v2

Espero que isso tenha sido útil!

Existem duas maneiras principais de fazer isso. Primeiro, você pode analisar o XML, retirando o conteúdo das tags necessárias (algumas maneiras de fazer isso, dependendo se você usa um analisador sax ou dom). Esta é a solução rápida e suja.

Você também pode usar um Transformação XSLT Para converter a fonte XML diretamente para o HTML que você deseja. Isso está mais envolvido, pois você precisa aprender a sintaxe para modelos XSLT, o que é um pouco detalhado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top