Javascript 检索blogger中所有标签的列表
有没有一种方法可以使用gdataapi检索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)中打印标
我需要根据该列表创建一个菜单,但不能简单地列出所有帖子并获取它,因为它是一个繁忙的博客,有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