6

これは私が、スプレッドシートを作成する方法である:APIを使用して新しいGoogleスプレッドシートに最初の行を作成するにはどうすればよいですか?

DocsService client= new DocsService ("idea"); 
client.useSsl(); 
client.setOAuthCredentials (oauthParameters, new OAuthHmacSha1Signer()); 

DocumentListEntry newEntry= new com.google.gdata.data.docs.SpreadsheetEntry(); 
newEntry.setTitle (new PlainTextConstruct ("GIdeaDB")); 
DocumentListEntry insertedEntry= client.insert (new URL (
    "https://docs.google.com/feeds/default/private/full/?xoauth_requestor_id="+ userEmail), newEntry); 

は今、私はそれの最初の行を書きたいです。

しかし残念なことに、すべてのAPIは、名前と値のペア(名前は作成したい見出し)を挿入するため、すでに最初の行があることに基づいてseamを呼び出します。 http://code.google.com/apis/spreadsheets/data/3.0/developers_guide.html#CreatingTableRecords

どのように私は最初の行を作成できますか?フィールド名を定義するもの。

+0

これは、ワークシートのサイズを変更します。 https://developers.google.com/google-apps/spreadsheets/#modifying_a_worksheets_title_and_size – eddyparkinson

+0

一般的なドキュメントはこちら - バッチリクエストで複数のセルを更新する[または作成する]:https://developers.google.com/google-apps/スプレッドシート/#updating_multiple_cells_with_a_batch_request – jpillora

答えて

14

Finalyが見つかりました。

oauthParameters= new GoogleOAuthParameters(); 
    oauthParameters.setOAuthConsumerKey (CONSUMER_KEY); 
    oauthParameters.setOAuthConsumerSecret (CONSUMER_SECRET); 
    oauthParameters.setOAuthType (OAuthType.TWO_LEGGED_OAUTH); 
    oauthParameters.setScope ("https://spreadsheets.google.com/feeds/"); 

    SpreadsheetService spreadsheetService= new SpreadsheetService ("appname"); 
    spreadsheetService.useSsl(); 
    spreadsheetService.setOAuthCredentials (oauthParameters, 
    new OAuthHmacSha1Signer()); 

    URL feedUrl= new URL (
    "https://spreadsheets.google.com" 
     + "/feeds/spreadsheets/private/full?title=Spreadsheetname&xoauth_requestor_id=" 
     + userEmail); 

    SpreadsheetFeed resultFeed= spreadsheetService.getFeed (feedUrl, 
    SpreadsheetFeed.class); 

    List <SpreadsheetEntry> spreadsheets= resultFeed.getEntries(); 
    SpreadsheetEntry spreadsheetEntry= spreadsheets.get (0); 

    URL worksheetFeedUrl= spreadsheetEntry.getWorksheetFeedUrl(); 
    log.severe (worksheetFeedUrl.toString()); 
    WorksheetFeed worksheetFeed= spreadsheetService.getFeed (
    worksheetFeedUrl, WorksheetFeed.class); 

    List <WorksheetEntry> worksheetEntrys= worksheetFeed.getEntries(); 
    WorksheetEntry worksheetEntry= worksheetEntrys.get (0); 

    // Write header line into Spreadsheet 
    URL cellFeedUrl= worksheetEntry.getCellFeedUrl(); 
    CellFeed cellFeed= spreadsheetService.getFeed (cellFeedUrl, 
    CellFeed.class); 

    CellEntry cellEntry= new CellEntry (1, 1, "headline1"); 
    cellFeed.insert (cellEntry); 
    cellEntry= new CellEntry (1, 2, "headline2"); 
    cellFeed.insert (cellEntry); 
+0

ありがとう本当に有用だった:) – user381878

+1

たくさんの助け!!!!!!!!!! – Dhrupal

+0

私はMOnth-Yearとしてヘッダを表示したいのですが、2014年8月に値を入れると、2014年1月8日のように日付が変わります。任意のソリューションですか? –

1

私はそれを試していないが、それは、「テーブルの作成」のセクションで説明されたように、それは私になります。それは上のヘッダーを作成するように具体的に、一部tableEntry.setHeader(new Header(1))は思わ

TableEntry tableEntry = new TableEntry(); 

FeedURLFactory factory = FeedURLFactory.getDefault(); 
URL tableFeedUrl = factory.getTableFeedUrl(spreadsheetEntry.getKey()); 

// Specify a basic table: 
tableEntry.setTitle(new PlainTextConstruct("New Table")); 
tableEntry.setWorksheet(new Worksheet("Sheet1")); 
tableEntry.setHeader(new Header(1)); 

// Specify columns in the table, start row, number of rows. 
Data tableData = new Data(); 
tableData.setNumberOfRows(0); 
// Start row index cannot overlap with header row. 
tableData.setStartIndex(2); 
// This table has only one column. 
tableData.addColumn(new Column("A", "Column A")); 

tableEntry.setData(tableData); 
service.insert(tableFeedUrl, tableEntry); 

最初の行次に、tableData.setStartIndex(2)は、データが最初の行(ヘッダーなので)には入れないように指定しているようです。最後に、tableData.addColumn(new Column("A", "Column A"))はヘッダーにラベルが付いた列を追加しているようです。

+0

お元気ですか!月曜日にそれを試してみよう。どうも! – JochenJung

+1

Hmm ..いいえ:-(「スプレッドシートは新しいテーブルを作成します。テーブルはGUIでは表示されませんが、Data APIを使用してテーブル上で操作できます」Google Docsのスプレッドシート、これはオプションではありません – JochenJung

+0

GData APIはサーバー同期データでのみ動作するため、ユーザーにテーブルを表示しないでくださいメモリ。 – Kroltan

関連する問題