Der Code in diesem tutorial (Snippet unten angegeben) ruft eine Liste aller Tabellen für den authentifizierten Benutzer ab.Wie erhalten Sie Tabellen aus einem bestimmten Google Drive-Ordner?
public class MySpreadsheetIntegration {
public static void main(String[] args) throws AuthenticationException,
MalformedURLException, IOException, ServiceException {
SpreadsheetService service = new SpreadsheetService("MySpreadsheetIntegration-v1");
// TODO: Authorize the service object for a specific user (see other sections)
// 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());
}
}
}
Aber ich möchte nicht alle Tabellenkalkulationen erhalten. Ich möchte nur die Tabellen, die sich in einem bestimmten Ordner befinden (wenn der Ordner existiert, andernfalls das Programm beenden). Ist es möglich, diese API zu verwenden? Wenn ja, wie?
Soweit mein Verständnis geht, muss der SpreadsheetFeed geändert werden. Aber ich habe kein Beispiel dafür bekommen.
Bitte antworten oder kommentieren, wenn ich nicht den Normen von StackOverflow oder verpassten Details, die ich erwähnen sollte, Folge geleistet habe.
Ich glaube nicht, Spreadsheet API hat sogar ein Konzept von "Ordner". Sie benötigen [children.list] (https://developers.google.com/drive/v2/reference/children/list#request) von der Drive-API. Dies gibt eine Liste von Dateien und nicht von Tabellen zurück. Die URLs enthalten jedoch Spreadsheet-IDs, sodass Sie versuchen können, auf diese Weise auf sie zuzugreifen ... Oder verwenden Sie einfach die Apps Script-API, die eine saubere Methode zum Übergeben des File-Objekts an SpreadsheetApp bietet und eine Tabelle zurückgibt. –
@Meta Ok, ich habe es verstanden. Aber ich muss zuerst den Ordner holen. Kann ich SpreadsheetEntry auch von fileId erhalten? –