// ガジェットの初期化 function init() { var req = opensocial.newDataRequest(); // ...既存の処理... // Viewerの愛読書リストを取得 var reqParams = {}; reqParams[opensocial.DataRequest.DataRequestFields.ESCAPE_TYPE] = opensocial.EscapeType.NONE; var viewerIdParams = {}; viewerIdParams[opensocial.IdSpec.Field.USER_ID] = viewerId; viewerIdParams[opensocial.IdSpec.Field.GROUP_ID] = 'SELF'; var viewerIdSpec = opensocial.newIdSpec(viewerIdParams); req.add(req.newFetchPersonAppDataRequest( viewerIdSpec, ['bookList'], reqParams), 'viewerBooks'); // フレンドの愛読書リストを取得 req.add(req.newFetchPersonAppDataRequest( friendsIdSpec, ['bookList'], reqParams), 'friendsBooks'); // リクエストを送信 req.send(receiveData); }
取得したAppDataはデフォルトでHTMLエスケープされますが、JSONをデコードするには不都合です。そこで、ESCAPE_TYPEをNONEにすることで自動HTMLエスケープをOFFにしています。