前回はmixiアプリ作成入門(2)で作成したコードについて簡単な解説を行いました。
今回は、ユーザの詳細なプロフィール情報の取得方法をご紹介したいと思います。
mixiアプリでは、以下のプロフィール情報とマイミク一覧を取得することができます。
- ID
- ニックネーム
- プロフィール写真
- プロフィールURL
- 現住所(県のみ)
- 年齢
- 生年月日
- 性別
- 血液型
- このアプリケーションをインストールしているかどうか
このうち、(2)のサンプル作成時に使用したnewFetchPersonRequest()関数で取得できるのは
でした。
それ以外の情報はというと、取得したい項目をそれぞれ予め指定する必要があります。
その指定を行うためには、
opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILS という定数を使用します。
以下では、DataRequestオブジェクトの生成前にその指定を行ってみました。
var params = {};
params[opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILS] = [
opensocial.Person.Field.PROFILE_URL, // プロフィールのURL
opensocial.Person.Field.ADDRESSES, // 現住所(県のみ)
opensocial.Person.Field.AGE, // 年齢
opensocial.Person.Field.DATE_OF_BIRTH, // 生年月日
opensocial.Person.Field.GENDER, // 性別
mixi.PersonField.BLOOD_TYPE, // 血液型
opensocial.Person.Field.HAS_APP // このアプリケーションをインストールしているかどうか
];
var req = opensocial.newDataRequest();
そして、指定がつまったparamsをnewFetchPersonRequest()の第二引数として付与します。
req.add(req.newFetchPersonRequest(opensocial.IdSpec.PersonId.VIEWER, params), “viewer”);
値によっては取得方法が少し異なります。以下をご参照ください。
req.send(function(data) {
var viewer =
data.get(“viewer”).getData();
var id =
viewer.getId();
var nickname =
viewer.getDisplayName();
var thumbnailUrl =
viewer.getField(opensocial.Person.Field.THUMBNAIL_URL);
var profileUrl =
viewer.getField(opensocial.Person.Field.PROFILE_URL);
var pref =
viewer.getField(opensocial.Person.Field.ADDRESSES)[0].getField(opensocial.Address.Field.UNSTRUCTURED_ADDRESS);
var age =
viewer.getField(opensocial.Person.Field.AGE);
var birth =
viewer.getField(opensocial.Person.Field.DATE_OF_BIRTH);
var gender =
viewer.getField(opensocial.Person.Field.GENDER).getKey();
var bloodType =
viewer.getField(mixi.PersonField.BLOOD_TYPE);
var hasApp =
viewer.getField(opensocial.Person.Field.HAS_APP);
}
尚、情報が「全体に公開」されていない場合、「undefined」と表示され値を取得することができませんのでご注意ください。
これだけの情報が取得できれば、mixiアプリの創造の幅が広がりますね。
これをもとに、サンプルアプリのさらなるカスタマイズにぜひチャレンジしてみてください。
次回は、ユーザのマイミク情報を取得してみようと思います。
Post Footer automatically generated by Add Post Footer Plugin for wordpress.