今回からはGAEとGoogle Appsとの連携をやってみる
以下サイトを参考http://thinkit.co.jp/story/2013/10/01/4472
とりあえず、GAE側にGoogle Appsと連携する為のライブラリを導入してみる。
gdataというものがいるらしい。
↓からダウンロード可能
https://code.google.com/p/gdata-java-client/downloads/list
GAE側プロジェクトのWEB-INF/lib配下にjarファイルをコピー
コピー元はダウンロードしたgdata/java/lib配下のjarと、jsr305.jar
次に、以下6項目をビルドパスに追加
↓とりあえず、参考サイトを元にサービスクラスを作成してみた
/**
* GoogleDriveのスプレッドシートサービスクラス
* @author jf-orange
*/
public class SpreadSheetService {
private SpreadsheetService spreadsheetService;
/**
* コンストラクタ
*
* @param appName アプリケーション名
*/
public SpreadSheetService(String appName) {
spreadsheetService = new SpreadsheetService(appName);
}
/**
* スプレッドシートの検索
*
* @param sheetName シート名
* @return {@link SpreadsheetEntry}
* @throws Exception
*/
public SpreadsheetEntry findSheet(String sheetName) throws Exception {
if (StringUtil.isEmpty(sheetName)) {
return null;
}
FeedURLFactory factory = FeedURLFactory.getDefault();
SpreadsheetQuery sheetQuery
= new SpreadsheetQuery(factory.getSpreadsheetsFeedUrl());
sheetQuery.setTitleQuery(sheetName);
SpreadsheetFeed sheetFeed = spreadsheetService.query(sheetQuery, SpreadsheetFeed.class);
return sheetFeed.getEntries().get(0);
}
public WorksheetEntry getWorksheet(SpreadsheetEntry entry) throws Exception {
if (entry == null) {
return null;
}
return entry.getDefaultWorksheet();
}
/**
* ワークシート内の全データを取得
*
* @param workSheetEntry {@link WorksheetEntry}
* @return {@link ListEntry}のリスト
* @throws Exception
*/
public List<ListEntry> getSheetAllData(WorksheetEntry workSheetEntry) throws Exception {
if (workSheetEntry == null) {
return null;
}
ListQuery listQuery = new ListQuery(workSheetEntry.getListFeedUrl());
ListFeed listFeed = spreadsheetService.query(listQuery, ListFeed.class);
return listFeed.getEntries();
}
}
0 件のコメント:
コメントを投稿