私は、Javaを使用してGoogleシートに接続する方法を示すtutorialに従っています。それは私がIntelliJの内側から例QuickStart.javaクラスを実行すると、私はGoogleシートJava APIでclient_secretsが見つかりませんか?
import com.google.api.client.auth.oauth2.Credential;
import com.google.api.client.extensions.java6.auth.oauth2.AuthorizationCodeInstalledApp;
import com.google.api.client.extensions.jetty.auth.oauth2.LocalServerReceiver;
import com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow;
import com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.client.json.JsonFactory;
import com.google.api.client.util.store.FileDataStoreFactory;
import com.google.api.services.sheets.v4.SheetsScopes;
import com.google.api.services.sheets.v4.model.*;
import com.google.api.services.sheets.v4.Sheets;
周りのエラーが見つかりませライブラリを言っていない見ることができるように
apply plugin: 'java'
apply plugin: 'application'
mainClassName = 'Quickstart'
sourceCompatibility = 1.8
targetCompatibility = 1.8
version = '1.0'
repositories {
mavenCentral()
}
dependencies {
compile 'com.google.api-client:google-api-client:1.22.0'
compile 'com.google.oauth-client:google-oauth-client-jetty:1.22.0'
compile 'com.google.apis:google-api-services-sheets:v4-rev483-1.22.0'
}
として依存関係を取得するためのGradle使用しています。 IntelliJのツールバーで、私はFile - > Project Structure - > Dependenciesに行き、build.gradleから3つの項目を追加しました。その後、輸入関連のエラーは消えた。私は、クラスを実行すると、私はGradleの-qの実行を使用して、端末でこれを実行すると、私は
objc[1649]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/bin/java (0x102cf14c0) and /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/libinstrument.dylib (0x102db94e0). One of the two will be used. Which one is undefined.
Exception in thread "main" java.lang.NullPointerException
at java.io.Reader.<init>(Reader.java:78)
at java.io.InputStreamReader.<init>(InputStreamReader.java:72)
at Quickstart.authorize(Quickstart.java:67)
at Quickstart.getSheetsService(Quickstart.java:90)
at Quickstart.main(Quickstart.java:98)
を取得し、すべてが完了します。どういうわけか
InputStream in = Quickstart.class.getResourceAsStream("/client_secret.json");
の値はIntelliJの中で実行している場合はnullですが、ターミナル
編集で実行している場合ではない:これは、プロジェクトツリーが
よう
ようidea.log](HTTPSでのすべてのエラーを、それをマークするためのIntelliJを指示する必要があります.jetbrains.com/hc/articles/207241085)、Gradleプロジェクトのインポートに関連していますか? – CrazyCoder
これはコマンドラインからビルドしますか? –
gradle build succeeds、yes – JCWong