gpt4 book ai didi

java - (Android/Java) Google Sheets v4 isUserRecoverableError 状态 : NEED_PERMISSION

转载 作者:行者123 更新时间:2023-12-02 03:25:39 25 4
gpt4 key购买 nike

我目前正在尝试使用 Google Sheets v4 API 从我的 Google 电子表格中删除一行。

这是我正在使用的代码:

private void deleteRow()
{
List<Request> requests = new ArrayList<>();

DeleteDimensionRequest deleteDimensionRequest = new DeleteDimensionRequest();

DimensionRange dimensionRange = new DimensionRange();
dimensionRange.setStartIndex(14);
dimensionRange.setEndIndex(15);

deleteDimensionRequest.setRange(dimensionRange);

requests.add(new Request()
.setDeleteDimension(deleteDimensionRequest)
);

BatchUpdateSpreadsheetRequest batchUpdateRequest = new BatchUpdateSpreadsheetRequest()
.setRequests(requests);

try
{
mService.spreadsheets().batchUpdate("Spreadsheet_ID", batchUpdateRequest).execute();
}
catch(IOException e)
{
e.printStackTrace();
}
}

这个函数给我的错误是:

08-14 15:47:10.818 26956-27285/com.xxx.xxxxx.xxxxxxxx         
W/GoogleAuthUtil: isUserRecoverableError status: NEED_PERMISSION

在我的其他类文件中,我已经指出了权限范围,包括驱动器和电子表格。

错误图片如下: enter image description here

在 Java 快速入门中...

    public static Credential authorize() throws IOException {
// Load client secrets.
InputStream in =
SheetsQuickstart.class.getResourceAsStream("/client_secret.json");
GoogleClientSecrets clientSecrets =
GoogleClientSecrets.load(JSON_FACTORY, new InputStreamReader(in));

// Build flow and trigger user authorization request.
GoogleAuthorizationCodeFlow flow =
new GoogleAuthorizationCodeFlow.Builder(
HTTP_TRANSPORT, JSON_FACTORY, clientSecrets, SCOPES)
.setDataStoreFactory(DATA_STORE_FACTORY)
.setAccessType("offline")
.build();
Credential credential = new AuthorizationCodeInstalledApp(
flow, new LocalServerReceiver()).authorize("user");
System.out.println(
"Credentials saved to " + DATA_STORE_DIR.getAbsolutePath());
return credential;
}

这是除了我需要包含的 Android 快速入门提供的宣誓凭证之外的一种宣誓凭证吗?

最佳答案

根据给定的 JSON 响应,遇到的错误是由于身份验证范围不足造成的。您可以尝试检查 Google Sheets API 所需的 OAuth 2.0 范围信息,如 Authorizing requests with OAuth 2.0 中给出。 .

请注意,向 Google Sheets API 请求非公开用户数据必须经过经过身份验证的用户的授权。同样,如果应用程序需要创建电子表格或以其他方式操作其元数据,则该应用程序还必须请求 Google Drive API 范围。

此外,这篇 SO 帖子中给出的解决方案 - 403 Forbidden error when accessing Google Drive API downloadURL关于错误代码 403 也可能有帮助。

关于java - (Android/Java) Google Sheets v4 isUserRecoverableError 状态 : NEED_PERMISSION,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38947311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com