I managed to add a new worksheet to an existing spreadsheet in my Google Drive using Java code from the official Google Sheets API documentation. However, I need to create a completely new spreadsheet file instead of just adding worksheets to existing ones.
The documentation shows how to work with existing spreadsheets but doesn’t provide clear examples for creating brand new spreadsheet files. I’ve looked at the available methods in the SpreadsheetService class but I’m not sure which approach is correct.
Can someone help me understand how to create a new spreadsheet file using the Google Sheets API?
import com.google.gdata.client.spreadsheet.*;
import com.google.gdata.data.PlainTextConstruct;
import com.google.gdata.data.spreadsheet.*;
import com.google.gdata.util.*;
import java.io.IOException;
import java.net.*;
import java.util.*;
public class NewSpreadsheetCreator {
public static void main(String[] args)
throws AuthenticationException, MalformedURLException, IOException, ServiceException {
SpreadsheetService sheetService = new SpreadsheetService("MyApp");
String userEmail = "USER_EMAIL";
String userPass = "USER_PASSWORD";
sheetService.setUserCredentials(userEmail, userPass);
URL feedURL = new URL(
"https://spreadsheets.google.com/feeds/spreadsheets/private/full");
SpreadsheetFeed allSheets = sheetService.getFeed(feedURL, SpreadsheetFeed.class);
List<SpreadsheetEntry> sheetList = allSheets.getEntries();
for (SpreadsheetEntry sheet : sheetList) {
System.out.println(sheet.getTitle().getPlainText());
}
SpreadsheetEntry currentSheet = sheetList.get(1);
WorksheetEntry newTab = new WorksheetEntry();
newTab.setTitle(new PlainTextConstruct("Fresh Tab"));
newTab.setColCount(15);
newTab.setRowCount(25);
URL tabFeedUrl = currentSheet.getWorksheetFeedUrl();
WorksheetEntry createdTab = sheetService.insert(tabFeedUrl, newTab);
}
}