2010年8月2日月曜日

groovyとgdata-java-clientでスプレッドシートにシートを追加する

groovyとgdata-java-clientでスプレッドシートにシートを追加するには、以下のコードを実行します。

import com.google.api.client.googleapis.*
import com.google.api.client.googleapis.auth.clientlogin.*
import com.google.api.data.spreadsheet.v3.*
import com.google.api.data.spreadsheet.v3.atom.*
import com.google.api.client.xml.atom.*
import com.google.api.client.util.*

// エントリ
public class Entry
{
@Key
String title
@Key("gs:rowCount")
int rowCount = 10
@Key("gs:colCount")
int colCount = 10
}

// Parser設定
GoogleTransport transport = new GoogleTransport()
transport.applicationName = "yourcorp-yourapp-1.0"
transport.setVersionHeader(GoogleSpreadsheets.VERSION)
ap = new AtomParser()
ap.namespaceDictionary = GoogleSpreadsheetsAtom.NAMESPACE_DICTIONARY
transport.addParser(ap)

// 認証
cl = new ClientLogin()
cl.authTokenType = GoogleSpreadsheets.AUTH_TOKEN_TYPE
cl.username = "youraccount@gmail.com"
cl.password = 'yourpassword'
cl.authenticate().setAuthorizationHeader(transport)

// 指定したスプレッドシートにシートを追加
// keyはブラウザでスプレッドシートを表示した時と同じ
key = "0Aqfa4uztHBXEdDNEc1duOUdDQmd4eURRekdxxxxxxxx"
requrl = "https://spreadsheets.google.com/feeds/worksheets/${key}/private/full"
request = transport.buildPostRequest()
request.url = requrl
content = new AtomContent()
content.entry = new Entry()
content.entry.title = "追加したシート"
content.namespaceDictionary = GoogleSpreadsheetsAtom.NAMESPACE_DICTIONARY
request.content = content;
request.execute().parseAsString()


動作環境
groovy 1.7.2, JDK6 Update20, gdata-java-2.2.1-alpha

関連情報
gdata-java-client
http://code.google.com/p/gdata-java-client/

0 件のコメント:

コメントを投稿