JavaScriptで動的に読み込まれるツリービューのユーザーコントロールに取り組んでいます。実際のデータでテストしたいのですが。
JSON形式の階層データへのアクセスを提供するAPIを備えたパブリックサービスを知っている人はいますか?
JavaScriptで動的に読み込まれるツリービューのユーザーコントロールに取り組んでいます。実際のデータでテストしたいのですが。
JSON形式の階層データへのアクセスを提供するAPIを備えたパブリックサービスを知っている人はいますか?
回答:
たとえば、Twitterには JSONを返すパブリックAPIがあります-
へのGET
リクエスト:
https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=true&screen_name=mralexgray&count=1
、
編集: TwitterがAPIをOAUTH
要件で制限しているため削除されました...
{"errors": [{"message": "The Twitter REST API v1 is no longer active. Please migrate to API v1.1. https://dev.twitter.com/docs/api/1.1/overview.", "code": 68}]}
それをGithub APIの簡単な例で置き換える-これはツリー、この場合は私のリポジトリを返します...
出力が長いので、出力は含めません..(一度に30リポジトリを返します)...しかし、ここでは、それがツリー構造であることの証明です。
POST
リクエストを受け付けていないようです。
Tumblrには、JSONを提供するパブリックAPIがあります。のような単純なURLを使用して、投稿のダンプを取得できますhttp://puppygifs.tumblr.com/api/read/json
。
?callback=foo
し、あなたが得るfoo({...})
代わりにvar tumblr_api_read={...}
。APIドキュメントではCORSサポートについては触れられていないので、ほとんどのユーザーがJSONPを介してコンテンツをロードしているのではないかと強く思います。
Flickrから、登録/ APIを必要としないものを見つけました。
基本的なサンプル、フィドル:http : //jsfiddle.net/Braulio/vDr36/
詳細:投稿
貼り付けたサンプル
HTML
<div id="images">
</div>
JavaScript
// Querystring, "tags" search term, comma delimited
var query = "http://www.flickr.com/services/feeds/photos_public.gne?tags=soccer&format=json&jsoncallback=?";
// This function is called once the call is satisfied
// http://stackoverflow.com/questions/13854250/understanding-cross-domain-xhr-and-xml-data
var mycallback = function (data) {
// Start putting together the HTML string
var htmlString = "";
// Now start cycling through our array of Flickr photo details
$.each(data.items, function(i,item){
// I only want the ickle square thumbnails
var sourceSquare = (item.media.m).replace("_m.jpg", "_s.jpg");
// Here's where we piece together the HTML
htmlString += '<li><a href="' + item.link + '" target="_blank">';
htmlString += '<img title="' + item.title + '" src="' + sourceSquare;
htmlString += '" alt="'; htmlString += item.title + '" />';
htmlString += '</a></li>';
});
// Pop our HTML in the #images DIV
$('#images').html(htmlString);
};
// Ajax call to retrieve data
$.getJSON(query, mycallback);
もう1つの非常に興味深いのは、Star Wars Rest APIです。
タンブラーV2 APIは、純粋なJSONレスポンスを提供していますが、いくつかのフープでジャンプする必要があります。
URLの例:http : //api.tumblr.com/v2/blog/puppygifs.tumblr.com/posts/photo?api_key=YOUR_KEY_HERE
Fiddlerのツリー構造を示す結果: