Google (ブロガー) にブログがあり、投稿に統合するために外部 Web サイトから json データを取得したいと考えています。json データを取得するために jquery ライブラリと getJson 関数を使用しましたが、何も返されません。
ブロガーはjqueryの外部呼び出しを制限しますか? アイデアはありますか?ありがとうございました
詳細については、http://code.google.com/apis/gdata/docs/json.htmlをご覧ください。しかし、jquery で使用される JSONP モードを見れば、その方法がわかります。たとえば、次のコードは、Blogger API からコメント フィードを取得する方法を示しています。
var BloggerImporter = {
getComments : function(username){
var feedURL = "http://"+username+".blogspot.com/feeds/comments/default";
var paras = {
alt : 'json-in-script'
};
$.ajax({
url: feedURL,
type: 'get',
dataType: "jsonp",
success: BloggerImporter.onGotCommentData,
data: paras
});
},
/**
* Parse the JSON comment data returned by the Google Blogger API
*/
onGotCommentData : function(data){
var feed = data.feed;
var entries = feed.entry || [];
var txt = "";
for (var i = 0; i < entries.length; ++i) {
var entry = entries[i];
var title = entry.title.$t;
txt += title;
}
alert(txt);
}
}
これは、ブログ全体をインライン化するために使用するコードです。Google には見えないので SEO には適していませんが、私が本当に気にかけたのは、ブログ ページの見栄えを良くすることだけでした。
<div id="blogContainer"></div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$.ajax({
url: 'http://www.blogger.com/feeds/<your blogger ID>/posts/default?alt=json-in-script',
type: 'get',
dataType: "jsonp",
success: function(data){
for (var i = 0; i < data.feed.entry.length; i++){
$('#blogContainer').append('<div class="blogItem"><h2>'
+ data.feed.entry[i].title.$t + '<span class="author"> by '
+ data.feed.entry[i].author[0].email.$t + '</span></h2>'
+ data.feed.entry[i].content.$t
+ '<br clear="all"></div>');
}
}
});
</script>