Tôi muốn tích hợp nguồn cấp dữ liệu tumblr vào trang web của mình. Có vẻ như tumblr có một API cho điều này, nhưng tôi không hoàn toàn chắc chắn làm thế nào để sử dụng nó. Từ những gì tôi hiểu, tôi yêu cầu trang và tumblr trả về tệp xml có nội dung trong blog của tôi. Nhưng làm thế nào để tôi làm cho xml này thành html có ý nghĩa? Tôi có phải phân tích cú pháp bằng php, chuyển các thẻ liên quan thành tiêu đề và v.v. không? Tôi tự nhủ rằng nó không thể đau đớn như vậy. Bất cứ ai có bất kỳ thông tin chi tiết?Tích hợp blog tumblr với trang web
Trả lời
Có hai cách chính để thực hiện việc này. Đầu tiên, bạn có thể phân tích cú pháp xml, rút nội dung ra khỏi các thẻ bạn cần (một số cách để thực hiện việc này tùy thuộc vào việc bạn sử dụng trình phân tích SAX hay DOM). Đây là giải pháp nhanh và bẩn.
Bạn cũng có thể sử dụng XSLT transformation để chuyển đổi nguồn xml trực tiếp sang html bạn muốn. Điều này có liên quan nhiều hơn kể từ khi bạn phải tìm hiểu cú pháp cho các mẫu xslt, đó là một chút chi tiết.
Có một javascript bao gồm thực hiện điều này bây giờ, có sẵn từ Tumblr (Bạn phải đăng nhập để xem nó): http://www.tumblr.com/developers
Nó gió lên là một cái gì đó như thế này:
<script type="text/javascript" src="http://{username}.tumblr.com/js"></script>
Đây là cách siêu dễ dàng và nó hoạt động. Bạn cũng có thể thêm? Num = 4 sau khi js để xác định có bao nhiêu bài viết được hiển thị (ở đây nó sẽ là 4). Bạn cũng có thể tạo kiểu này với css, nhưng nhược điểm của phương thức này là thời gian post không được hiển thị – CodeVirtuoso
Làm thế nào để thiết lập offset? Kết quả để bắt đầu tại –
Trong khi nó xuất hiện rằng có nhiều tùy chọn hơn (kiểm tra ở đây: http://www.tumblr.com/docs/en/api/v2#posts), có vẻ như bù đắp được bỏ qua. Bạn có thể sử dụng API đầy đủ để kiểm soát tốt hơn. – kweerious
Nếu bạn đi đến http://yourblog.tumblr.com/api/read nơi "yourblog" nên được thay thế bằng tên blog của bạn (hãy cẩn thận, nếu bạn lưu trữ blog Tumblr của mình trên tên miền tùy chỉnh, như tôi làm, hãy sử dụng tên đó), bạn sẽ thấy phiên bản XML của blog của mình. Nó thực sự lộn xộn đối với tôi trên Firefox vì một số lý do vì vậy tôi sử dụng Chrome, hãy thử một vài trình duyệt khác nhau, nó sẽ giúp xem tệp XML được định dạng tốt, thụt lề và như vậy.
Khi bạn xem phiên bản XML của blog, hãy lưu ý rằng mỗi bài đăng có một loạt dữ liệu theo định hướng thuộc tính = "giá trị". Dưới đây là một ví dụ từ blog của tôi:
<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">
Vì vậy, có rất nhiều cách để làm điều này, tôi sẽ cho bạn thấy một tôi đã sử dụng, và thả mã của tôi trên dưới cùng của bài viết này để bạn có thể chỉ may mà theo nhu cầu của bạn. Chú ý phần type = "link"? Hoặc id = "11576453174"? Đây là những giá trị bạn sẽ sử dụng để kéo dữ liệu vào tập lệnh PHP của bạn.
Dưới đây là ví dụ:
<!-- 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="" />
';
?>
Vì vậy, đây thực sự là khá đơn giản. Kịch bản PHP ở đây đặt dữ liệu (như tiêu đề bài đăng và văn bản bài) từ tệp xml vào các biến php và sau đó lặp lại các biến đó cùng với một số html để tạo một div có đoạn trích từ bài đăng trên blog. Phần này có bài đăng văn bản gần đây nhất. Vui lòng sử dụng nó, chỉ cần vào và thay đổi url đầu tiên đó thành blog của riêng bạn. Và sau đó chọn bất kỳ giá trị nào bạn muốn từ tệp xml của mình.
Ví dụ: giả sử bạn muốn, không phải là bài đăng "ảnh" gần đây nhất, nhưng là "ảnh" thứ hai gần đây nhất.Bạn phải thay đổi request_url này:
$request_url = "http://wamoyo.com/api/read?type=photo&start=1"
Hoặc giả sử bạn muốn bài viết gần đây nhất với một từ khóa cụ thể
$request_url = "http://wamoyo.com/api/read?tagged=events";
Hoặc giả sử bạn muốn có một bài cụ thể, chỉ cần sử dụng id
$request_url = "http://wamoyo.com/api/read?id=11576453174";
Vì vậy, tất cả những gì bạn phải làm là tiếp tục? với tham số bất kỳ và sử dụng & nếu bạn có nhiều tham số.
Nếu bạn muốn làm một cái gì đó fancier, bạn sẽ cần các tài liệu tumblr api đây: http://www.tumblr.com/docs/en/api/v2
Hy vọng điều này là hữu ích!
Tôi tin rằng bạn cũng có thể sử dụng 'yourblogname.tumblr.com' trên tên miền tùy chỉnh. Ví dụ 'crystilogic.tumblr.com/api/read/json' làm việc cho tôi, nhưng' crystilogic.tumblr.com' chuyển hướng đến 'mixingmemory.org'. – isomorphismes
Đúng, chắc chắn là đúng. Thánh ... HAHA! Tôi đã học được rất nhiều kể từ khi tôi đặt câu hỏi này lên, lol. Tôi đang làm công cụ node.js bây giờ, Kinda mát mẻ để xem tôi đã học được bao nhiêu. Cảm ơn người dân stackoverflow! – Costa
- 1. Công cụ blog để tích hợp với ứng dụng java. Công cụ blog nào?
- 2. Thêm Blog vào Trang web Hiện tại
- 3. Tích hợp Disqus SSO trên trang web
- 4. tích hợp CMS với trang web ASP.NET hiện có
- 5. Làm cách nào để sửa đổi bookmarklet tumblr để đăng lên một blog tumblr cụ thể?
- 6. Cần đăng hình ảnh lên blog Tumblr trong android
- 7. Chân trang giống như Tumblr
- 8. Tích hợp Lịch Outlook vào Trang web/Khác
- 9. Tích hợp jQuery fullcalendar vào trang web PHP
- 10. Cách tích hợp Google Analytics vào trang web jQueryMobile
- 11. Làm thế nào để kéo ảnh Instagram vào blog của tôi và tích hợp với Fancybox?
- 12. Tìm kiếm CMS của bên thứ ba để tích hợp với trang web MVC
- 13. Làm cách nào để tích hợp dữ liệu khói với trang web của tôi?
- 14. Tích hợp Facebook Connect với trang web sử dụng Nhà cung cấp thành viên ASP.NET
- 15. Tích hợp các dịch vụ web ký quỹ trên trang web PHP
- 16. Cách tích hợp mẫu WordPress với CodeIgniter
- 17. Tích hợp Grails với ứng dụng web hiện có
- 18. Tích hợp thành viên Umbraco với SAML Web SSO
- 19. Tích hợp XMLRPC/Dịch vụ Web với dữ liệu lõi
- 20. Tích hợp Capybara với đá quý đối tượng trang
- 21. Tích hợp SVN với Notepad ++?
- 22. Làm cách nào để thêm tính năng tìm kiếm trang web vào Blog Jekyll?
- 23. Máy chủ web nhúng với trình phân tích cú pháp XML tích hợp
- 24. Tích hợp Paypal với PHP từng bước
- 25. Thành phần Django 'CMS' tốt nhất để tích hợp vào trang web hiện tại
- 26. Tích hợp Ruby on Rails Với Wordpress
- 27. Tích hợp ứng dụng Rails vào một trang web được thực hiện trong wordpress
- 28. Tích hợp FosUserBundle với FosRestBundle
- 29. C# wiki tốt nhất để tích hợp vào một trang web đã tồn tại là gì?
- 30. Tích hợp Jetty với RESTEasy
Câu hỏi cụ thể đề cập đến php, làm cho nó liên quan đến lập trình. –