Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检索blogger中所有标签的列表_Javascript_Gdata_Blogger - Fatal编程技术网

Javascript 检索blogger中所有标签的列表

Javascript 检索blogger中所有标签的列表,javascript,gdata,blogger,Javascript,Gdata,Blogger,有没有一种方法可以使用gdataapi检索blogger中所有标签的列表 我需要根据该列表创建一个菜单,但不能简单地列出所有帖子并获取它,因为它是一个繁忙的博客,有2000多篇帖子。我看不到在博客中获取标签列表的方法,但您可以检索所有帖子(https://developers.google.com/blogger/docs/2.0/json/reference/posts/list)然后检查每个标签的字段:我发现的方法是使用博主自己的名为标签的小工具。它在一些无序列表(ul)和链接(a)中打印标

有没有一种方法可以使用gdataapi检索blogger中所有标签的列表


我需要根据该列表创建一个菜单,但不能简单地列出所有帖子并获取它,因为它是一个繁忙的博客,有2000多篇帖子。

我看不到在博客中获取标签列表的方法,但您可以检索所有帖子(https://developers.google.com/blogger/docs/2.0/json/reference/posts/list)然后检查每个标签的
字段:

我发现的方法是使用博主自己的名为标签的小工具。它在一些无序列表(ul)和链接(a)中打印标签列表及其使用计数。在使用javascript加载标签后,可以从中提取标签,如下所示:

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

最后,删除Labels div元素(

非常简单,我给您两种方法

  • 使用Javascript-API 首先,您必须使用:

    
    
    load(“gdata”,“1.x”,{packages:[“blogger”]})

    其次,您可以使用下面的代码检索标签

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

    有关更多教程,请阅读和

  • 使用JSON 对于json,如果您想了解如何检索标签列表,请使用此对象

    json.feed.entry[i].类别[j].术语

    有关更多详细教程,请阅读和


  • 下面是使用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>
    
    
    函数cat(json){//获取博客的类别并对其排序
    var label=json.feed.category;
    var-lst=[];
    
    对于(i=0;iWidget-to-server,bloggers本身也提供了相同的用途

    Widget提供了各种选项,如-

  • 您可以显示所有标签,也可以从现有列表中进行选择
  • 可以按字母顺序或按标签使用次数(频率)对标签进行排序
  • 您可以选择将它们显示为列表或云(混杂)

  • 您可以在我的博客中看到相同的内容-

    首先通过控制台中的以下代码添加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并获得标签列表

    现在,我所做的将为Blogger主题和新添加的Blogger主题工作

    通常在这些主题中,您会在页面的右侧toogle菜单中看到标签

    因此,您需要它单击标签,然后单击“显示更多”

    现在打开浏览器调试控制台并声明和变量

    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
    

    您将获得的所有标签都使用逗号(;)分离格式。

    正如我在问题中所说的,我不能这样做,因为有太多的帖子。另一个问题是,谷歌不允许你通过他们的API检索所有帖子。如果你尝试maxResults参数,比如100,它会给你一个invalidValue错误。大约20个就可以了。对于那些只想要列表的人,我用这个来做。
    1. $('.first-items .label-name').each(function(){str = str + ", "+($(this).text())})
    2. $('.remaining-items .label-name').each(function(){str = str + ", "+($(this).text())})
    3. str