現在、GoogleスプレッドシートからGoogleスプレッドシートを削除するには、Googleスプレッドシートを使用してください。ここで(Android/Java)Googleスプレッドシートv4 isUserRecoverableErrorステータス:NEED_PERMISSION
は、私が使用していますコードです:
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
私の他のクラスファイルでは、私はすでに含めた権限の範囲を示してきましたドライブとスプレッドシート。ここで
...
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;
}
が、これはそのアンドロイドクイックスタートが提供するものに加えて、宣誓資格の一種であります私は含める必要がありますか?
範囲に加えて有効なoauth資格情報を追加していますか? (また、byによって、開始範囲は包含的で、終了範囲は排他的です。したがって、[14,14]を削除するよう要求すると、何も削除されません。行14を削除したい場合は、[14,15]が必要です。) –
返事をお寄せいただきありがとうございます。その他のコードは、サンプルのクイックスタートです。mCredential = GoogleAccountCredential.usingOAuth2( getApplicationContext()、Arrays.asList(SCOPES)) 。setBackOff(新しいExponentialBackOff());私は別の有効な宣誓証書を含める方法がわかりません...何らかのAPIキーが必要でしょうか? – LinearM