mixiアプリのFlashで血液型が取得できない
mixiアプリ開発中の問題。
open social for flashライブラリ http://code.google.com/p/opensocial-actionscript-client/
を使って、flash内で
person.getFiled("bloodType")
とやっても、nullになる。
なんでだろー、って調べてたら、どーも標準で定義されていないキーの場合取得できないようになっていて、
"bloodType"っていう値ははいってないよーだ。
しょぼーん。他にも、
|-updated:2009-05-15T01:15:04Z |-bloodType:B |-lastLogin:2009-05-14T23:52:33Z
この3つのプロパティはなんかとれなさげなので、悩んでたら
階層をたどっていって、下記みたいにしたらなんとなくとれた。
p.getRawProperty("dataObj")["fields_"])["bloodType"] );
もうひとつのやりかた
opensocial-flashsdk.jsに記述を加える。
me.wrapObject = function(dataObj, opt_this) { ... // fix properties. if (type == opensocial.Person) { ... opt_this['bloodType'] = dataObj.getField("bloodType"); // <-- これを追加。 ...
で、asからは
p.getRawProperty("bloodType") )
と呼び出す。
jsのopt_thisのobjectと、as内のgetRawPropertyの参照する値は同じものみたいなので、
これで呼び出せるみたい。