使用Sheets API v4获取与Google帐户关联的所有电子表格列表

时间:2016-06-17 08:13:35

标签: java google-sheets google-spreadsheet-api google-sheets-api

使用Google表格API v4,我希望获得附加到我的帐户的电子表格列表。我做了很多研究,但没有找到任何解决方案。

4 个答案:

答案 0 :(得分:7)

v4 API不提供列出电子表格的方法。您需要使用Drive API。 Migrate from a previous API page包含有关如何使用Drive API执行此操作的详细信息。

答案 1 :(得分:3)

要获取特定类型的所有文件的列表,可以使用drive API v3。 以下是从经过身份验证的用户的驱动器获取所有工作表的示例。

drive.files.list({
    q: "mimeType='application/vnd.google-apps.spreadsheet'",
    fields: 'nextPageToken, files(id, name)'
}, (err, response) => {
    //Your code
})

您可以将MIME类型的文件类型传递为' q'参数。您可以获取驱动器MIME类型列表here

来源:https://developers.google.com/sheets/api/guides/migration#list_spreadsheets_for_the_authenticated_user

答案 2 :(得分:0)

为此,您必须使用Drives API。

from apiclient import discovery

credentials = get_credential_service_account()
service = discovery.build('drive', 'v3', credentials=credentials)
service.drive().list()

要获取“凭据”,您可以使用this code

Google的官方文档在这里:https://developers.google.com/drive/v3/reference/changes/list

答案 3 :(得分:0)

Java实现:

字符串url="https://www.googleapis.com/drive/v3/filesq=mimeType='application/vnd.google-apps.spreadsheet'";

public String getSheets(String url) throws UnsupportedEncodingException {

   RestTemplate restTemplate = new RestTemplate();
      HttpHeaders headers = new HttpHeaders();
      headers.add("Authorization", "Bearer " + "Access Token"); 
      HttpEntity entity = new HttpEntity(headers);
      HttpEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, entity, String.class);
      return response.getBody();
}

使用以下链接可以生成访问令牌 https://github.com/clojure/clojure/blob/clojure-1.9.0/src/clj/clojure/core.clj#L7123