8

tumblr フィードを自分の Web サイトに統合したいと考えています。tumblr にはこのための API があるようですが、その使用方法がよくわかりません。私の理解では、ページをリクエストすると、tumblr は私のブログのコンテンツを含む xml ファイルを返します。しかし、この xml を意味のある html にするにはどうすればよいでしょうか? 関連するタグをヘッダーなどに変換して、php で解析する必要がありますか? そんなに痛いはずがないと自分に言い聞かせます。誰にも洞察がありますか?

4

4 に答える 4

11

現在、これを行う JavaScript インクルードが Tumblr から入手できます (表示するにはログインする必要があります): http://www.tumblr.com/developers

それは次のようなものになります:

<script type="text/javascript" src="http://{username}.tumblr.com/js"></script>
于 2010-08-03T02:07:03.313 に答える
4

投稿を簡単に取得できる PHP で書かれた API ラッパーであるPHPTumblrを使用できます。

于 2009-10-14T18:50:15.377 に答える
3

http://yourblog.tumblr.com/api/readにアクセスして、「yourblog」をブログの名前に置き換える必要がある場合(私のように、カスタムドメインでTumblrブログをホストする場合は、注意してください。それ)あなたはあなたのブログのXMLバージョンを見るでしょう。何らかの理由でFirefoxで非常に厄介になっているので、Chromeを使用し、いくつかの異なるブラウザを試してみます。XMLファイルが整形式で、インデントされているなどを確認するのに役立ちます。

ブログのXMLバージョンを確認したら、各投稿にattribute="value"方向のデータがたくさんあることに注意してください。これが私のブログの例です:

<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">

したがって、これを行う方法はたくさんあります。私が使用した方法を示し、この投稿の下部にコードをドロップして、ニーズに合わせて調整できるようにします。type = "link"の部分に注意してください?またはid="11576453174"?これらは、PHPスクリプトにデータをプルするために使用する値です。

次に例を示します。

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

したがって、これは実際にはかなり単純です。ここでのPHPスクリプトは、xmlファイルのデータ(投稿のタイトルや投稿のテキストなど)をphp変数に配置し、それらの変数をhtmlとともにエコーアウトして、ブログ投稿のスニペットを特徴とするdivを作成します。これは最新のテキスト投稿を特徴としています。気軽に使用して、最初のURLを自分のブログに変更してください。次に、xmlファイルから必要な値を選択します。

たとえば、最新ではなく、2番目に新しい「写真」の投稿が必要だとします。request_urlを次のように変更する必要があります。

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

または、特定のタグが付いた最新の投稿が必要だとします

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

または、特定の投稿が必要だとしましょう。IDを使用するだけです。

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

だからあなたがしなければならないのは?任意のパラメーターを使用し、複数のパラメーターがある場合は&を使用します。

もっと面白いことをしたい場合は、ここにtumblr apiドキュメントが必要です:http ://www.tumblr.com/docs/en/api/v2

これがお役に立てば幸いです。

于 2011-11-03T05:42:15.450 に答える
1

これを行うには、主に2つの方法があります。まず、xmlを解析して、必要なタグからコンテンツを引き出すことができます(これを行うには、SAXパーサーとDOMパーサーのどちらを使用するかによっていくつかの方法があります)。これは迅速で汚い解決策です。

XSLT変換を使用して、xmlソースを必要なhtmlに直接変換することもできます。xsltテンプレートの構文を学ぶ必要があるため、これはより複雑になりますが、これは少し冗長です。

于 2009-10-14T18:50:54.363 に答える