为什么我突然无法从Blogger API获取内容?

时间:2013-10-09 09:24:46

标签: javascript json google-api blogger

我一直在使用Google API从我的Blogger帐户获取JSON数据,并在我自己的网站上显示和格式化博文。

它完美地工作了几个星期,然后突然,截至昨天,content停止显示。 titleupdate(帖子更新的日期)和id都会像往常一样回归。只有content停止了回来。

自从第一次实现代码以来,我没有以任何方式更改代码,我查找文档以查看API是否已更改,但未发现任何问题。所以我完全难以理解为什么代码的这一方面会突然停止工作。

这几乎是我用来获取JSON数据的整个Javascript。有什么事吗?

function init() {
    // Get your API key from http://code.google.com/apis/console
    gapi.client.setApiKey('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
    // Load the Blogger JSON API
    gapi.client.load('blogger', 'v3', function() {
        // Load the list of posts for code.blogger.com
        var request = gapi.client.blogger.posts.list({
            'blogId': 'xxxxxxxxxxxxxxxxxxx',
            'fields': 'items(content,title,updated,id)'
        });
        request.execute(function(response) {
            var blogger = document.getElementById("blogger");
            var anchor = 0;
            for (var i = 0; i < response.items.length; i++)
            {
                var bloggerDiv = document.createElement("div");
                bloggerDiv.id = "blogger-" + i;
                bloggerDiv.className = "bloggerItem";
                $(bloggerDiv).append("<h2>" + response.items[i].title + "</h2>");
                var date = response.items[i].updated;
                date = date.replace("T", " ");
                date = date.replace("+09:00", "");
                var printDate = new moment(date);
                $(bloggerDiv).append("<p><span class='byline'>" + printDate.format('dddd, MMMM Do YYYY, h:mm:ss a') + "</span></p>");
                $(bloggerDiv).append(response.items[i].content)
                bloggerAnchor = document.createElement("a");
                bloggerAnchor.name = "blogger-" + response.items[i].id;
                blogger.appendChild(bloggerAnchor);
                blogger.appendChild(bloggerDiv);
                anchor = anchor + 1;
            }
            // find out which anchor the user wanted...
            var hashVal = window.location.hash.substr(1);
// ... then jump to that position:
            location.hash = "#" + hashVal;
        });
    });
}

1 个答案:

答案 0 :(得分:3)

现在fetchBodies的默认值为false而不是true。因此,您需要添加param fetchBodies = true。