DataRequest.newFetchPersonAppDataRequestに対応するサーバ側の実装をしてみる。
ガジェットXMLは、
ここ
で使ったものをそのまま使う。
とりあえず、どんなリクエストが来るのか見てみる。
FirBugでのPOSTデータは、
[{"method":"people.get","params":{"userId":["@viewer"],"groupId":"@self","fields":["id","name","thumbnailUrl"
,"id","displayName"]},"id":"get_viewer"},{"method":"appdata.get","params":{"userId":["@viewer"],"groupId"
:"@self","appId":"@app","fields":["key"]},"id":"get_appdata"}]
な感じ。
「取得」ボタンを押下すると、people.getでVIEWERは取れるんだけど、
appdata.getでは取れない。もちろん未実装だから。
見難いけど、上記は、people.getとappdata.getの2つのRPCが行われている。
で、上記リクエストを投げたときのサーバ側のログ。
[リクエスト:[7642812]] 2009-07-22 22:31:19,062 INFO jp.qsdn.gms.web.spring.controller.gadget.ApiController - dispatcher:[jp.qsdn.gms.social.protocol.SpringHandlerRegistry@5e7663]
[リクエスト:[7642812]] 2009-07-22 22:31:19,063 DEBUG jp.qsdn.gms.social.service.AppDataServiceImpl - userId:[VIEWER]
[リクエスト:[7642812]] 2009-07-22 22:31:19,063 DEBUG jp.qsdn.gms.social.service.AppDataServiceImpl - userId2:[root]
[リクエスト:[7642812]] 2009-07-22 22:31:19,063 DEBUG jp.qsdn.gms.social.service.AppDataServiceImpl - groupId:[SELF]
[リクエスト:[7642812]] 2009-07-22 22:31:19,063 DEBUG jp.qsdn.gms.social.service.AppDataServiceImpl - appId:[http://localhost/opensocial/hello.xml]
[リクエスト:[7642812]] 2009-07-22 22:31:19,063 DEBUG jp.qsdn.gms.social.service.AppDataServiceImpl - field:[key]
[リクエスト:[7642812]] 2009-07-22 22:31:19,063 WARN jp.qsdn.gms.web.spring.controller.gadget.ApiController - Returning a response error as result of an exception
java.lang.UnsupportedOperationException
at jp.qsdn.gms.social.service.AppDataServiceImpl.getPersonData(AppDataServiceImpl.java:60)
at org.apache.shindig.social.opensocial.service.AppDataHandler.get(AppDataHandler.java:122)
な感じ。
appdata.updateとは違って、UserIdが配列で飛んでくる。
そこさえ注意していれば、割と簡単そう。
.
0 コメント:
コメントを投稿