Интеграция блога tumblr с веб-сайтом

Я хотел бы интегрировать мой tumblr-канал на свой веб-сайт. Кажется, у tumblr есть API для этого, но я не совсем уверен, как его использовать. Из того, что я понимаю, я запрашиваю страницу, а tumblr возвращает xml-файл с содержимым моего блога. Но как я могу превратить этот xml в значимый html? Должен ли я разбирать его с помощью php, превращая соответствующие теги в заголовки и так далее? Я говорю себе, что это не может быть так больно. У кого-нибудь есть идеи?

Вы можете использовать PHPTumblr , API-оболочку, написанную на PHP, которая делает получение сообщений бризами.

Здесь есть javascript, который делает это сейчас, доступный от Tumblr (вам нужно войти в систему, чтобы увидеть его): http://www.tumblr.com/developers

Это заканчивается чем-то вроде этого:

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

Если вы перейдете на сайт http://yourblog.tumblr.com/api/read, где «yourblog» следует заменить именем вашего блога (будьте осторожны, если вы размещаете свой блог Tumblr в настраиваемом домене, как и я, используйте что) вы увидите XML-версию своего блога. По какой-то причине для Firefox это по-настоящему беспорядочно для меня, поэтому я использую Chrome, попробую пару разных браузеров, это поможет увидеть XML-файл, хорошо сформированный, с отступом и т. Д.

После того, как вы посмотрите на версию своего блога в формате XML, обратите внимание, что каждый столбец имеет кучу данных в атрибуте = «значение». Вот пример из моего блога:

 <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-файла.

Например, скажем, вы хотите, а не самую последнюю, но вторую самую последнюю «фотографию». Вы должны изменить request_url на это:

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

Или, допустим, вы хотите, чтобы последнее сообщение с определенным тегом

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

Или, допустим, вы хотите получить определенную должность, просто используйте идентификатор

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

Итак, все, что вам нужно сделать, это придерживаться? с любым параметром и использовать &, если у вас есть несколько параметров.

Если вы хотите сделать что-то более интересное, вам понадобятся tumblr api docs: http://www.tumblr.com/docs/en/api/v2

Надеюсь, это было полезно!

Существует два основных способа сделать это. Во-первых, вы можете проанализировать xml, вытаскивая контент из необходимых вам тегов (несколько способов сделать это в зависимости от того, используете ли вы SAX или DOM-парсер). Это быстрое и грязное решение.

Вы также можете использовать преобразование XSLT для преобразования источника xml непосредственно в требуемый html. Это больше связано с тем, что вам нужно изучить синтаксис шаблонов xslt, который немного подробный.