Menggunakan Blogger JSON Feed API

Blogger JSON Feed API merupakan hal penting dan inti bagi para blogger template developer untuk membuat widget-widget unik atau konten-konten tertentu yang tidak bisa dilakukan pada settingan blogger biasa. Dengan Blogger JSON Feed API, kita dibolehkan Retrieves informasi data setiap postingan di blogger. Layaknya, seperti database SQL yang di fetch dengan PHP.

Perlu pengetahuan dasar Javascript khususnya pengetahuan tentang looping rules agar dapat melakukan hal ini. Namun, cara belajar masing-masing orang berbeda-beda. Ada yang memahami dengan praktek, lalu teori dan sebaliknya.

Jika kamu familiar dengan retrieve data seperti dengan SQL dan PHP, rasanya ini sangat mudah. Yang perlu diketahui adalah cara pengambilan setiap data dan cara penyampaiannya dengan Javascript terhadap tulisan HTML yang akan ditulis nantinya.

Ada beberapa query untuk mendapatkan setiap informasi dari sebuah post

ObjekDeskripsiExample
json.feed.id.$tBlog IDtag:blogger.com,1999:blog-12345
json.feed.updated.$tUpdate blog terakhir2013-07-08T18:21:57.051+07:00
json.feed.category[]Label array semua postingan blog
json.feed.category[i].termLabel ke-iFun
json.feed.title.$tNama BlogAudiralog
json.feed.subtitle.$tDeskripsi BlogAudiralog is my blog personal
json.feed.author[]Array dari Author di BlogRaka Audira, Matt Cutts
json.feed.author[i].name.$tNama author ke-i di BlogRaka Audira
json.feed.author[i].uri.$tURL Author ke-i di Bloghttps://profiles.google.com/123456789
json.feed.openSearch$totalResults.$tJumlah total postingan777
json.feed.entry[]Array postingan dari Blog
json.feed.entry[i].id.$tPost ID untuk post ke-itag:blogger.com,1999:blog-8508.post-12345678
json.feed.entry[i].title.$tJudul post untuk post ke-iBlogger JSON Feed API
json.feed.entry[i].published.$tMenunjukkan waktu published/diterbitkan untuk post ke-i2013-07-07T12:56:00.000+07:00
json.feed.entry[i].updated.$tMenunjukkan waktu updated/terakhir disunting untuk post ke-i2013-07-07T12:56:47.089+07:00
json.feed.entry[i].category[]Label array dari sebuah post ke-i
json.feed.entry[i].category[x].termMenunjukkan label ke-x dari sebuah post ke-iFun, Blog
json.feed.entry[i].summary.$tSummary atau snippet postMaybe sometimes we need a widget...
json.feed.entry[i].content.$tKonten post (Termasuk markah HTML)Maybe sometimes we need a widget for certain features, but the widgets are not available ...
json.feed.entry[i].link[]Link Array dari sebuah post
json.feed.entry[i].link[x].hrefLink post ke-x dari post ke-ihttps://audiralog.blogspot.com/2018/06/myfirstpost.html
json.feed.entry[i].author[]Array author dari post ke-i
json.feed.entry[i].author[x].name.$tNama author ke-x pada post ke-iRaka Audira
json.feed.entry[i].author[x].uri.$tLink profile author ke-x pada post ke-ihttps://profiles.google.com/123456789
json.feed.entry[i].author[x].gd$image.srcProfil image URL dari author ke-x pada post ke-i//lh4.googleusercontent.com/photo.jpg
json.feed.entry[i].media$thumbnail.urlImage URL dari post ke-i (Gambar Pertama dari post)http://3.bp.blogspot.com/danlogs.jpg
json.feed.entry[i].thr$total.$tJumlah thread komentar dari post ke-i7

Untuk penggunaanya, kita memerlukan sebuah callback function,
Misalkan, saya ingin mengambil 5 judul post yang berlabel "fun"

<script type="text/javascript">//<![CDATA[
function dapatsemuajudul(json){
  var entry=json.feed.entry[i];
  for(var i=0;i<entry.length;i++){//looping i sebanyak jumlah post(entry.length)
   var posttitle=entry.title.$t;
    for(var j=0;j<entry.link.length;i++){
     if(entry.link[j].rel == "alternate"){
      var posturl=entry.link[j].href;//dapatkan link setiap post ke-i
     }
    }
   var posttag=[];var posttagwrite="";
   for(var k=0;k<entry.category.length;k++){
   //setiap post bisa ada beberapa label, jika diambil secara biasa hanya akan terambil satu label pertama saja setiap post
   //Maka perlu diambil semua label pada setiap index post atau post ke-i
    posttag.push(entry.category[k].term);//masukkan ke dalam array
   }
   for(var t=0;t<posttag.length;t++){
    posttagwrite+="<a href='../search/label/"+posttag[t]+"?max-results=5'>"+posttag[t]+"</a> ";
   }
   document.write('<li><a href="'+posturl+'">'+posturl+'</a><br/>'+posttagwrite+'</li>')//print sebanyak dan setiap post i
  }
}
//]]></script>
Lalu panggil function tersebut dengan callback di tempat yang diinginkan

<script src="/feeds/posts/summary/-/fun?max-results=5&alt=json-in-script&callback=dapatsemuajudul"></script>

atau

<script src="http://DOMAIN-BLOG.blogspot.com/feeds/posts/summary/-/fun?max-results=5&alt=json-in-script&callback=dapatsemuajudul"></script>

Perlu diketahui, bahwa /summary/ diperuntukkan untuk mengambil snippet/summary dengan
json.feed.entry[i].summary.$t

Jika ingin mengambil konten full termasuk markah HTML dengan
json.feed.entry[i].content.$t

maka summary diganti dengan default, misalkan

<script src="http://audiralog.blogspot.com/feeds/posts/default/-/fun?max-results=5&alt=json-in-script&callback=dapatsemuajudul"></script>

?max-results=5
Angka 5 menunjukkan jumlah informasi post yang di-retrieve

&callback=dapatsemuajudul
Callback yang sesuai dengan nama function

Setelah function dipanggil, maka hasil HTML markah dari "dapatsemuajudul" adalah mengulang dari document.write sebanyak i (sebanyak max-results)

Terlihat mudah?

Lalu bagaimana cara pengembang blogger template me-implementasikan penggunaan ini untuk membuat konten menarik atau widget-widget unik. Berikut implementasinya :
Membuat Slide Owl-Carousel2 dengan Blogger JSON Feed API

Mudah-mudahan, akan ada konten lainnya dengan Blogger JSON Feed API .

Komentar

Postingan populer dari blog ini

Mengubah Ukuran Thumbnail Post di Homepage Blogger/Blogspot Dengan Tepat. Implementasi Parameter Struktur Blogger/Blogspot Image

Cara Membuat Smooth Parallax Scrolling Effect

Membuat Postingan Terkait di Blogger / Blogspot Sendiri dengan 2 Pilihan Style