2012-06-15 43 views
7

有沒有辦法使用gdata api在博客中檢索所有標籤的列表?檢索博主中所有標籤的列表

我需要創建一個基於該列表的菜單,但不能簡單地列出所有帖子並獲取它,因爲它是一個繁忙的博客,並有超過2000個帖子。

回答

1

我發現的方式是使用Blogger自己的名爲標籤的小工具。它在一些無序列表(ul)和鏈接(a)中打印標籤列表及其使用次數。您可以從拉動標籤,他們正在使用的JavaScript如下加載之後:

$(".list-label-widget-content a").each(function (i, el) { 
    var labelText = $(el).text(); 
    // do what you want with the labels 
}); 
到底

,去除標籤div元素(<div class='widget Label' id='Label1'>

0

我沒有看到獲取博客中標籤列表的方法,但您可以檢索所有帖子(https://developers.google.com/blogger/docs/2.0/json/reference/posts/列表),並檢查每個人的labels字段:https://developers.google.com/blogger/docs/2.0/json/reference/posts#resource

+0

正如我在問題中所說的,我不能這樣做,因爲帖子太多。 –

+0

此問題的另一個問題是,Google不允許您通過其API檢索_all_帖子。如果您嘗試使用maxResults參數(例如100),則會給您一個invalidValue錯誤。像20這樣的東西很好。 – DanMan

3

很簡單,我給你兩條路

  1. 使用JavaScript API 首先,你必須使用:

    <script type="text/javascript" src="http://www.google.com/jsapi"></ script> <script type='text/javascript'>
    google.load("gdata", "1.x", { packages : ["blogger"] });
    </script>

    其次,你可以使用下面的代碼來檢索標籤

    postRoot.entry.getCategories()[i].getTerm()

    詳細的教程,你可以從http://www.threelas.com/2012/05/how-to-retrieve-posts-using-blogger.htmlhttp://www.threelas.com/2012/04/basic-blogger-javascript-api.html

  2. 使用JSON閱讀使用JSON ,如果你想學習如何檢索標籤列表,使用此對象

    json.feed.entry[i].category[j].term

    的詳細教程,從http://www.threelas.com/2012/02/basic-blogger-json-feed-api.htmlhttp://www.threelas.com/2012/09/blogger-json-feed-with-jquery-ajax.html

9

讀到這裏是最簡單的方法,通過使用JSON調用來獲取標籤的列表:

<script> 
    function cat(json){ //get categories of blog & sort them 
     var label = json.feed.category; 
     var lst=[]; 
     for (i=0; i<label.length; i++){ 
      lst[i] = label[i].term ; 
     } 
     alert(lst.sort()); //use any sort if you need that 
    } 

</script> 

<script src="http://yourblog.blogspot.com/feeds/posts/summary?alt=json&max-results=0&callback=cat"></script> 

只要用你的博客網址。

+0

對於只需要列表的人,我使用它來創建[JSFiddle,它返回給定博客的標籤](http://jsfiddle.net/Noumenon72/9X3yZ/8/)。 – Noumenon

+0

謝謝,這個作品! –

1

服務器相同目的的小工具是由博主本身提供的。

enter image description here

部件提供類似的各種選項 -

  1. 您可以顯示所有的標籤或從現有列表中選擇
  2. 您可以將標籤按照字母順序或次數那種標籤使用(頻率)。
  3. 您可以選擇將這些顯示爲列表或雲(混亂)。

enter image description here

你可以看到在我的博客一樣 - Link

0

首先通過下面的代碼在控制檯添加JQuery的。

var jq = document.createElement('script'); 
jq.src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"; 
document.getElementsByTagName('head')[0].appendChild(jq); 

// ...給時間腳本加載,然後鍵入(或請參閱下面的非等待選項)

jQuery.noConflict(); 

一旦你這個做,我們可以採取的jQuery優勢並獲取標籤列表

現在我正在做的工作將爲Blogger主題顯着和新添加的博主主題。

通常在這些主題中,您會在頁面的右側菜單中看到標籤。

所以你需要它點擊標籤並點擊顯示更多。

現在打開瀏覽器調試控制檯並聲明和變量。

var str = ""; 

現在運行兩個代碼如下

1. $('.first-items .label-name').each(function(){str = str + ", "+($(this).text())}) 
2. $('.remaining-items .label-name').each(function(){str = str + ", "+($(this).text())}) 
3. str 

你會得到逗號的所有標籤(;)分隔格式。

相關問題