2012-06-15 18 views
7

¿Hay alguna manera de usar la API gdata para recuperar la lista de todas las etiquetas en un blogger?recuperar lista de todas las etiquetas en blogger

Necesito crear un menú basado en esa lista, pero no puedo simplemente enumerar todas las publicaciones y obtenerlo, porque es un blog ocupado y tiene más de 2000 publicaciones.

Respuesta

1

La forma en que encontré fue usando el propio gadget de Blogger llamado Etiquetas. Imprime la lista de etiquetas y su recuento de uso en algunas listas desordenadas (ul) y enlaces (a). Puede tirar de las etiquetas de las que después se cargan usando javascript de la siguiente manera:

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

al final, quitar las etiquetas div elemento (<div class='widget Label' id='Label1'>)

0

No veo un método para obtener la lista de etiquetas en un blog, pero puede recuperar todas las publicaciones (https://developers.google.com/blogger/docs/2.0/json/reference/posts/ lista) y marque el campo labels para cada uno de ellos: https://developers.google.com/blogger/docs/2.0/json/reference/posts#resource

+0

Como dije en la pregunta, no puedo hacerlo porque hay demasiadas publicaciones. –

+0

Otro problema con esto es que Google no le permite recuperar _todas las publicaciones a través de su API. Si prueba un parámetro maxResults de, digamos, 100, le dará un error de valor inválido en su lugar. Algo así como 20 funciona bien. – DanMan

3

muy sencillo, te doy dos maneras

  1. Con Javascript API En primer lugar, debe utilizar:

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

    En segundo lugar, se puede usar el siguiente código para recuperar las etiquetas

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

    Para más tutoriales, se puede leer en http://www.threelas.com/2012/05/how-to-retrieve-posts-using-blogger.html y http://www.threelas.com/2012/04/basic-blogger-javascript-api.html

  2. Con JSON con JSON, si quieres aprenda cómo recuperar la lista de etiquetas, use este objeto

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

    para más tutoriales detalle, leen de http://www.threelas.com/2012/02/basic-blogger-json-feed-api.html y http://www.threelas.com/2012/09/blogger-json-feed-with-jquery-ajax.html

9

Esta es la forma más fácil de obtener una lista de etiquetas mediante una llamada 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> 

sólo tiene que utilizar su URL del blog.

+0

Para las personas que solo quieren la lista, la usé para hacer [un JSFiddle que devuelve las etiquetas para cualquier blog dado] (http://jsfiddle.net/Noumenon72/9X3yZ/8/). – Noumenon

+0

¡Gracias, esto funciona! –

1

Widget to server el mismo propósito es proporcionado por los propios bloggers.

enter image description here

Widget ofrece diversas opciones como -

  1. Usted puede mostrar todas las etiquetas o elegir entre su lista existente
  2. Puede ordenar las etiquetas alfabéticamente o por número de veces que la etiqueta es usado (frecuencia).
  3. Puede elegir mostrarlos como una lista o como una nube (mezclada).

enter image description here

Se puede ver lo mismo en mi blog - Link

0

En primer lugar tiene que añadir jQuery a través del siguiente código en la consola.

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); 

... // dar tiempo a la escritura a la carga, a continuación, escriba (o ver más abajo para la opción no espera)

jQuery.noConflict(); 

Una vez que haya terminado con esto podemos aprovechar el jQuery y obtenga la lista de etiquetas

Ahora lo que estoy haciendo funcionará para el Blogger Theme Notable y el tema recién agregado para blogger.

Normalmente, en estos temas, verá Etiquetas en el menú de derechos de la página de Google.

Entonces lo que necesita Haga clic en la etiqueta y haga clic en Mostrar más.

Ahora abra la consola de depuración del navegador y declare y variable.

var str = ""; 

Ahora ejecute los dos códigos a continuación

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

todas las etiquetas que serán consiguen en coma (;) formato separado.

Cuestiones relacionadas