メモ代わり。てきとーに。 いや、ですからてきとーですって。 2年前ぐらいにPythonあたりでメールくれた方、ごめんなさい。メール紛失してしまい無視した形になってしまいました。。。

2009年7月22日水曜日

[Apache Shindig][お勉強][OpenSocial] メモ69 DataRequest.newFetchPersonAppDataRequestのサーバ側実装をしてみる(1)

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 コメント: