14

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

4

4 回答 4

12

v4 API 不提供列出电子表格的方法。您需要使用 Drive API。从以前的API 页面迁移有一些关于如何使用 Drive API 来执行此操作的详细信息。

于 2016-06-17T12:02:04.207 回答
9

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

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

于 2018-06-07T06:18:58.280 回答
0

为此,您必须使用 Drives API。

from apiclient import discovery

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

要获取“凭据”,您可以使用此代码

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

于 2017-09-24T10:41:26.727 回答
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();
}

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

于 2019-09-17T11:26:48.180 回答