多分、newFetchPeopleRequestが発行されると、
JSON-RPCでpeople.getがリクエストされるんじゃないかと。
それはどうでも良いとして、サーバ側は、
org.apache.shindig.social.opensocial.spi.PersonService
を実装したクラスのgetPeopleメソッドがコールされる。
このgetPeopleのシグネチャは以下。
Future<RestfulCollection<Person>> getPeople(SetuserIds, GroupId groupId,
CollectionOptions collectionOptions, Set<String> fields, SecurityToken token)
throws ProtocolException;
うへー。
UserIdは"VIEWER"、"OWNER"とか。
GroupIdは、"FRIENDS"とか"ALL"とか"SELF"とかが設定されている。
fieldsはnewFetchPeopleRequestの第二引数で指定した、
opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILS
の対応する値がセットされている。
tokenはiframeにセットしたstパラメータの値に対応するSecurityTokenオブジェクト。
collectionOptionsというのは、、、
*
* ソートの順序(昇順か降順か)
* フィルター、
* 最大件数、
* 最初に表示するデータのインデックス、
* updatedSince
というのが入ってくる模様。
多分、PersonServiceをコールするPersonHandlerを見れば分かると思う。
ということで見てみようっと。
--
というか、newFetchPeopleRequestを
idSpecParam[opensocial.IdSpec.Field.GROUP_ID] = opensocial.IdSpec.PersonId.FRIENDS;
でコールしたのに、サーバ側には、GroupIdに"SELF"が設定されている!
なんで??
--
idSpecParam[opensocial.IdSpec.Field.GROUP_ID] = opensocial.IdSpec.GroupId.FRIENDS;
が正解。
.
0 コメント:
コメントを投稿