0
我想使用服務帳戶實施Google Sheet API請求。我創造了這個代碼:TokenResponseException:401未授權
HttpTransport httpTransport = new NetHttpTransport();
JacksonFactory JSON_FACTORY = new JacksonFactory();
ClassLoader classLoader = this.getClass().getClassLoader();
java.io.File path = new java.io.File(classLoader.getResource("i-6dc0c917ee63.p12").getFile());
GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId("[email protected]")
.setServiceAccountPrivateKeyFromP12File(path)
.setServiceAccountScopes(Arrays.asList(SheetsScopes.SPREADSHEETS))
.setServiceAccountUser("[email protected]")
.build();
Sheets service = new Sheets.Builder(httpTransport, JSON_FACTORY, null)
.setApplicationName("project")
.setHttpRequestInitializer(credential).build();
Sheets.Spreadsheets spreadsheets = service.spreadsheets();
Spreadsheet includeGridData = spreadsheets.get(spreadsheetId).execute();
但我得到這個錯誤:
com.google.api.client.auth.oauth2.TokenResponseException:401未經授權
在這種方法.execute();
你知道我該如何解決這個問題嗎?
我在每次調用之前都測試過刷新令牌,但結果相同。 –
您可能希望檢查此[SO帖子]中給出的解決方案(https://stackoverflow.com/questions/39201216/exception-in-thread-main-com-google-api-client-auth-oauth2-tokenresponseexcept/39225165 #39225165)其中,如果令牌無效,則會執行相應的步驟。 – Teyam