maxurlのサンプルを試す #cycling74 #maxmsp #curl

スクリーンショット 2014-09-11 02.43.36
最近のアップデートで登場したcURLのMaxラッパーであるmaxurl。ついにMaxがインターネットと繋がる!と期待が高まり、勉強がてらサンプルコードを弄ってみました。

まずmaxurlのヘルプパッチを見るのがオススメです。タブになっていて、いくつものサンプルがいじれます。上記画像はヘルプパッチの良いねボタンサンプル。良いねボタンを押すとサーバー上のいいねカウントが1つあがる。

更に詳しい説明が書いてあったのは→Use MaxURL to Create a Realtime Instagram Collage

MaxでWeb APIを扱う2つの方法

どうやら、Maxがインターネッツとのリクエスト・レスポンスを扱う方法は二種類あるようです。

  1. maxurlとdictを使うパターン。JSONでクエリを生成し、それ以外はMaxらしいパッチングで行う方法
  2. jsオブジェクト(javascript)を使うパターン。XMLHttpRequestで行う方法

それぞれの方法についてCycling74のフォーラムにいくつかサンプルパッチがあったので試してみました。

MaxURL Weather Report

スクリーンショット 2014-09-11 02.12.47

Maxから天候を取得してみようというサンプル。このサンプルは、maxurlとdictでAPIを使う方法。

天候取得クエリ

{
     "http_method" : "get",
     "url" : "api.openweathermap.org/data/2.5/weather?q=Tokyo,jp",
     "response_dict" : "data1",
     "parse_type" : "json"
}

元々のサンプルはロンドンの天気を取得していたのですが、東京の天気は、”London,uk” → “Tokyo,jp”と変更したら取得できました。

MaxURL SoundCloud

スクリーンショット 2014-09-11 02.19.12

MaxからSoundCloudのAPIを使うサンプル。SoundCloud Developerの登録が必要です。例えば “livetune”と検索すると、ヒットしたURLがumenuに登録されます。このサンプルは、jsオブジェクトでAPIを使う方法。

ニコニコ横断検索API

サンプルにも慣れて、そろそろ自分で一から試してみようとAPIを探してみると、検索キーワードに関連したタグを返してくる”タグ検索API”というのを発見。将来的に”あのタグで待ってる。“に組み込んだら面白いかなと思って試してみました。

{
	"http_method" : "POST",
	"url" : "http://api.search.nicovideo.jp/api/tag/",
	"post_data" : 	{
		"query" : "Free!",
		"service" : [ "tag_video" ],
		"from" : 0,
		"size" : 5,
		"issuer" : "apiguide",
		"reason" : "ma10"
	}
,
	"response_dict" : "data4"
}

こんなクエリーを投げると

スクリーンショット 2014-09-11 02.34.46
レスポンスが帰ってきた!しかし、応答のBodyに対して文字列がエスケープ?のバックスラッシュが付きまくっている!!!Maxで消す方法がわからなくて、データを利用できなかった。

取得できたタグを見ると”Free!のためなら死ねる!”とか面白いですが、タグとして抽象度が低いのは使いづらいかも?!maxurlの使い方は未知数なので、今後も情報収集していきたいです!!!!!