開発者ガイドシートAPIに関するGoogleの公式ドキュメントに記載されている単純なJavaコードを使用して、Googleドライブアカウントの既存のスプレッドシートに新しいワークシートを正常に作成しましたが、Googleで新しいスプレッドシートを作成したいと思います。 Javaコードを介してアカウントを駆動します。リンクでは、そのサンプルコードについては言及されていません。Spreadserviceクラスで利用可能なさまざまなメソッドをすでに見ました。
Google Spreadsheets APIでこれを行う方法は?
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
import com.google.gdata.client.spreadsheet.*;
import com.google.gdata.data.Link;
import com.google.gdata.data.PlainTextConstruct;
import com.google.gdata.data.TextConstruct;
import com.google.gdata.data.docs.ExportFormat;
import com.google.gdata.data.spreadsheet.*;
import com.google.gdata.util.*;
import Java.io.IOException;
import Java.net.*;
import Java.util.*;
import javax.xml.soap.Text;
/**
*
* @author satyam
*/
public class SpreadSheet {
public static void main(String[] args)
throws AuthenticationException, MalformedURLException, IOException, ServiceException {
SpreadsheetService service = new SpreadsheetService("gBuddy");
// TODO: Authorize the service object for a specific user (see other sections)
String USERNAME = "USERNAME";
String PASSWORD = "PASSWORD";
service.setUserCredentials(USERNAME, PASSWORD);
// Define the URL to request. This should never change.
URL SPREADSHEET_FEED_URL = new URL(
"https://spreadsheets.google.com/feeds/spreadsheets/private/full");
// Make a request to the API and get all spreadsheets.
SpreadsheetFeed feed = service.getFeed(SPREADSHEET_FEED_URL, SpreadsheetFeed.class);
List<SpreadsheetEntry> spreadsheets = feed.getEntries();
// Iterate through all of the spreadsheets returned
for (SpreadsheetEntry spreadsheet : spreadsheets) {
// Print the title of this spreadsheet to the screen;
System.out.println(spreadsheet.getTitle().getPlainText());
}
SpreadsheetEntry spreadsheet = spreadsheets.get(1);
// System.out.println(spreadsheet.getTitle().getPlainText());
// // Create a local representation of the new worksheet.
WorksheetEntry worksheet = new WorksheetEntry();
worksheet.setTitle(new PlainTextConstruct("New Worksheet"));
worksheet.setColCount(10);
worksheet.setRowCount(20);
// Send the local representation of the worksheet to the API for
// creation. The URL to use here is the worksheet feed URL of our
// spreadsheet.
URL worksheetFeedUrl = spreadsheet.getWorksheetFeedUrl();
WorksheetEntry insert = service.insert(worksheetFeedUrl, worksheet);
}
}
私がこの答えを見つけたいくつかの調査の後、それはただ簡単です。 Google Spreadsheet APIを使用してGoogleドライブに新しいスプレッドシートを作成することはできません。
注: Google Spreadsheet APIを使用して、Googleドライブの既存のスプレッドシートに新しいワークシートを作成できますが、スプレッドシートAPIを使用して新しいスプレッドシートを作成することはできません。
新しいスプレッドシートまたはGoogleドライブがサポートするその他の種類のドキュメントを作成してアップロードするには、Google Drive apiを使用する必要があります。
これが私が探しているものです。これにより、グーグルドライブAPIを使用してグーグルドライブに新しいスプレッドシートを作成できます。
_ DocsService docsService = new DocsService("MySampleApplication-v3");
docsService.setUserCredentials(USERNAME, PASSWORD);
URL GOOGLE_DRIVE_FEED_URL = new URL("https://docs.google.com/feeds/default/private/full/");
DocumentListEntry documentListEntry = new com.google.gdata.data.docs.SpreadsheetEntry();
documentListEntry.setTitle(new PlainTextConstruct("Spreadsheet_name"));
documentListEntry = docsService.insert(GOOGLE_DRIVE_FEED_URL, documentListEntry);
_
新しいスプレッドシートを作成するには、new SpreadsheetEntry()
オブジェクトを作成する必要があり、その他のドキュメントの場合は、new DocumentEntry()
オブジェクトを作成する必要があります。
今グーグルドライブにあらゆる種類のドキュメント(xls、doc、imageなど)をアップロードする必要がある場合は、このようにすることができます
_//File upload in google drive
DocumentListEntry uploadFile = new DocumentListEntry();
uploadFile.setTitle(new PlainTextConstruct("FILE_NAME_DISPLAY_IN_DRIVE"));
uploadFile.setFile(new File("FILE_PATH"), "MIME_TYPE_OF_FILE");
uploadFile = docsService.insert(GOOGLE_DRIVE_FEED_URL, uploadFile);
_
Google Documents List API を使用して、新しいspeadsheetsを作成する必要があります。
このAPIは何ができますか?
Google Documents List APIを使用すると、開発者はGoogleドキュメント(テキストドキュメント、スプレッドシート、プレゼンテーション、図面を含むがこれらに限定されない)、ファイル、コレクションを作成、取得、更新、削除できます。また、リソースアーカイブ、光学式文字認識、翻訳、改訂履歴などの高度な機能も提供します。