代码之家  ›  专栏  ›  技术社区  ›  Gaurav Ashara

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

  •  15
  • Gaurav Ashara  · 技术社区  · 10 年前

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

    4 回复  |  直到 10 年前
        1
  •  12
  •   Sam Berlin    10 年前

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

        2
  •  9
  •   darshil.chapadia    8 年前

    要获取特定类型的所有文件的列表,可以使用驱动器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

        3
  •  0
  •   kmonsoor    8 年前

    为此,您必须使用Drives API。

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

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

    谷歌官方文件如下: https://developers.google.com/drive/v3/reference/changes/list

        4
  •  0
  •   Valor_ user3379466    6 年前

    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();
    }
    

    可以使用下面的链接生成访问令牌 OAUth Plyaground