我想使用谷歌日曆API在java中創建應用程序,但我嘗試連接到API服務,但它是錯誤的。 這裏是我的代碼(與Eclipse)連接谷歌日曆服務java
GoogleCredential credential = new GoogleCredential.Builder().setTransport(GoogleNetHttpTransport.newTrustedTransport())
.setServiceAccountId("*****************")
// .setServiceAccountUser("my e-mail adress")
.setClientSecrets("","********")
// .setServiceAccountScopes(CalendarScopes.CALENDAR)
.setJsonFactory(new GsonFactory())
.build();
Calendar client = new com.google.api.services.calendar.Calendar.Builder(
GoogleNetHttpTransport.newTrustedTransport(), new GsonFactory(), credential).build();
的錯誤是:
Exception in thread "main" java.lang.IllegalArgumentException
at com.google.api.client.repackaged.com.google.common.base.Preconditions.checkArgument(Preconditions.java:111)
at com.google.api.client.util.Preconditions.checkArgument(Preconditions.java:37)
at com.google.api.client.googleapis.auth.oauth2.GoogleCredential.<init>(GoogleCredential.java:323)
at com.google.api.client.googleapis.auth.oauth2.GoogleCredential$Builder.build(GoogleCredential.java:539)
at google_calendar.add_evenement.main(add_evenement.java:21)
根據你的錯誤信息沒有與驗證的問題,你能提供的輸出與改變認證?您可以使用:GoogleCredential憑證= new GoogleCredential.Builder()。setTransport(GoogleNetHttpTransport.newTrustedTransport())。setServiceAccountId(「*****************」)。setClientSecrets (「」,「********」)。setJsonFactory(new GsonFactory())。setAccessType(「offline」)。build();' –
謝謝,但我有同樣的錯誤 –
這似乎很奇怪對我來說,你正在設置一個服務帳戶ID和一個客戶端機密 - 通常你*要麼*使用服務帳戶的詳細信息*或*你使用客戶端ID /祕密。同樣,您設置服務帳戶標識很奇怪,但在服務帳戶機密方面沒有別的。 –