Menggunakan Blogger JSON Feed API

Mungkin kadang-kadang kita perlu widget untuk fitur tertentu, tetapi widget tidak tersedia.Blogger sudah menyediakan API untuk mengatasi hal ini, sehingga kita dapat membuat widget sendiri dengan membaca feed blog menggunakan JSON dan JavaScript.
Berikut adalah FEED API JSON:

ObjekDeskripsiContoh
json.feed.id.$t Tampilkan blog ID tag:blogger.com,1999:blog-12345
json.feed.updated.$tUpdate terakhir dari blog2013-07-08T18:21:57.051+07:00
json.feed.category[]Kategori / label array blog
json.feed.category[i].termTampilkan kategori-iBlogger
json.feed.title.$tTampilkan nama blogDanlogs
json.feed.subtitle.$tTampilkan deskripsi blogDan's Weblog
json.feed.author[]Array penulis blogDanang Probo Sayekti, Matt Cutts
json.feed.author[i].name.$tTampilkan-i nama penulis blogDanang Pobo Sayekti
json.feed.author[i].uri.$tTampilkan-i penulis profil urihttps://profiles.google.com/123456789
json.feed.openSearch$totalResults.$tTampilkan jumlah posting777
json.feed.entry[]Posting array blog
json.feed.entry[i].id.$tTampilkan-i pasca IDtag:blogger.com,1999:blog-8508.post-12345678
json.feed.entry[i].title.$tTampilkan judul posting-iBlogger JSON Feed API
json.feed.entry[i].published.$tTampilkan waktu diterbitkan-i posting2013-07-07T12:56:00.000+07:00
json.feed.entry[i].updated.$tTampilkan ketika ke-i posting diperbarui2013-07-07T12:56:47.089+07:00
json.feed.entry[i].category[]Tampilkan array kategori posting
json.feed.entry[i].category[x].termTampilkan x-th kategori ke-i postingBlogger API
json.feed.entry[i].summary.$tTampilkan ringkasan posting Maybe sometimes we need a widget ...
json.feed.entry[i].content.$tTampilkan isi postingMaybe sometimes we need a widget for certain features, but the widgets are not available ...
json.feed.entry[i].link[]Link array posting
json.feed.entry[i].link[x].hrefTampilkan link x-th-i posting http://www.danpros.com/2013/08/blogger-api.html
json.feed.entry[i].author[] Array posting penulis
json.feed.entry[i].author[x].name.$tNama dari x-th penulis pada-i postingDanang Probo Sayekti
json.feed.entry[i].author[x].uri.$tTampilkan profil penulis uri https://profiles.google.com/123456789
json.feed.entry[i].author[x].gd$image.srcGambar uri dari profil penulis x-th pada-i posting//lh4.googleusercontent.com/photo.jpg
json.feed.entry[i].media$thumbnail.urlTampilkan gambar di-i posting http://3.bp.blogspot.com/danlogs.jpg
json.feed.entry[i].thr$total.$tTampilkan jumlah ulir komentar 7


Berikut adalah contoh implementasi kode di atas:
Misalkan saya butuh 5 posting terbaru oleh label tertentu, label saya ingin menampilkan adalah "trik javascript". Aku mengambil judul dan ringkasan posting.
<script type="text/javascript">   
function mycallback(json) {     
for (var i = 0; i < json.feed.entry.length; i++) {       
for (var j = 0; j < json.feed.entry[i].link.length; j++) {         
if (json.feed.entry[i].link[j].rel == 'alternate') {           
var postUrl = json.feed.entry[i].link[j].href;           
break;         
}       
}       
var postTitle = json.feed.entry[i].title.$t;       
var postSummary = json.feed.entry[i].summary.$t;       
var item = '<div class="wrapper"><h3><a href=' + postUrl + '>' + postTitle + '</h3></a><p>' + postSummary + '</p></div>';       
document.write(item);     
}   

</script> 
<script src="http://online-service-yangkutahu.blogspot.com/feeds/posts/summary/-/trik javascript?max-results=5&alt=json-in-script&callback=mycallback"></script>

Catatan:. Kita perlu memahami json.feed.entry bahwa [i] .summary $ t hanya tersedia jika kita ambil URL feed menggunakan 
http://online-service-yangkutahu.blogspot.com/feeds/posts/summary 
daripada menggunakan 
http://online-service-yangkutahu.blogspot.com/feeds/posts/default.
Sekarang bagaimana kita bisa membuat widget tanpa posting baru-baru disortir oleh label tertentu? Widget ini juga hanya menampilkan 90 karakter dalam ringkasan. Berikut ini adalah contohnya:
<script type="text/javascript">   
function mycallback(json) 
{     
for (var i = 0; i < json.feed.entry.length; i++) 
{       
for (var j = 0; j < json.feed.entry[i].link.length; j++) 
{         
if (json.feed.entry[i].link[j].rel == 'alternate') 
{           
var postUrl = json.feed.entry[i].link[j].href;           
break;         
}       
}       
var postTitle = json.feed.entry[i].title.$t;       
var postAuthor = json.feed.entry[i].author[0].name.$t;       
var postSummary = json.feed.entry[i].summary.$t;       
var entryShort = postSummary.substring(0, 90);       
var entryEnd = entryShort.lastIndexOf(" ");       
var postContent = entryShort.substring(0, entryEnd) + '...';       
var item = '<div class="wrapper"><h3><a href=' + postUrl + '>' + postTitle + '</h3></a><span>'+ postAuthor + '</span><p>' + postContent + '</p></div>';       
document.write(item);     
}   

</script> 
<script src="http://online-service-yangkutahu.blogspot.com/feeds/posts/summary?orderby=published&max-results=5&alt=json-in-script&callback=mycallback"></script>
Semoga bermanfaat....
Previous
Next Post »