名前の取得
昨晩気になった
viewer.getField(opensocial.Person.Field.NAME)
したときのオブジェクトを追ってみました。
こういう時ってどうしたら良いのかなぁ。とりあえず toSource() すると
({fields_:{formatted:"\u59B9\u5C3E \u771F\u7531\u5B50", unstructured:"\u59B9\u5C3E \u771F\u7531\u5B50", givenName:"\u59B9\u5C3E", familyName:"\u771F\u7531\u5B50"}})
となります。名前バレちゃうけどありがちな名前だから気にしないっ(笑)
for(x in viewer.getField(opensocial.Person.Field.NAME)) console.log(x); }
だと
fields_ getField
で,
for(x in viewer.getField(opensocial.Person.Field.NAME).fields_) console.log(x); }
すると
formatted; unstructured; givenName; familyName;
うん,ここまではおっけ!
でも色んなところに載っているサンプルでは,名前の取得は
viewer.getField(opensocial.Person.Field.NAME).getField(opensocial.Name.Field.UNSTRUCTURED);
と書いてあるんですよね。名前から考えると formatted を使いそうに思うんですが
for (x in opensocial.Name.Field) { console.log(x); }
FAMILY_NAME GIVEN_NAME ADDITIONAL_NAME HONORIFIC_PREFIX HONORIFIC_SUFFIX UNSTRUCTURED
うわ,FORMATTED ないや……(・・。) OpenSocial Foundation Moves Standards Work to W3C Social Web Activity | W3C Blog にも載ってないですね。
Rename unstructured to formatted. The unstructured Name field is renamed to formatted.
http://www.opensocial.org/Technical-Resources/opensocial-release-notes.html
0.8.1 からなのかな?でもこれ RESTful API の変更点ですよね。
うーん,お手上げ!普通のアプリだとニックネームだけで名前は使わないだろうから,ひとまず飛ばします。