使用Java通过API写入GoogleSheet

Ale*_*olo 9 java google-api google-api-java-client google-sheets-api

我正在尝试使用带有Java的Google Sheet API将值写入单元格.为了阅读,我使用了Java Quickstart的指南,它对我来说很好.

要写入Google表格,我使用:

service.spreadsheets().values().update(spreadsheetId, "Sheet1!A4:H", response).execute();
Run Code Online (Sandbox Code Playgroud)

运行时此函数输出以下错误:

com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
{
  "code" : 403,
  "errors" : [ {
    "domain" : "global",
    "message" : "Request had insufficient authentication scopes.",
    "reason" : "forbidden"
  } ],
  "message" : "Request had insufficient authentication scopes.",
  "status" : "PERMISSION_DENIED"
}
Run Code Online (Sandbox Code Playgroud)

作为我正在使用的身份验证范围

private static final List<String> SCOPES = Arrays.asList(SheetsScopes.SPREADSHEETS);
Run Code Online (Sandbox Code Playgroud)

Ale*_*olo 12

显然有几个问题在一起:

  1. 删除存储在/Users/XXX/.credentials中的凭据.
  2. 将范围更改为SheetsScopes.SPREADSHEETS.
  3. Google工作表共享和编辑选项位于工作表本身.

现在它有效!谢谢你们的帮助