前提・実現したいこと
kotlinでDBなどから取得した情報をスプレッドシートに吐き出す処理を実現したいです。
発生している問題・エラーメッセージ
java.lang.IllegalArgumentException: null
該当のソースコード
GoogleAuthorizationCodeFlow.Builderで上記のエラーが発生しています。
kotlin
1package com.base.t.getYoutubeURL 2 3import ... 4 5val SCOPES = listOf(SheetsScopes.SPREADSHEETS) 6val CREDENTIALS_FILE_PATH = "/google_sheets_client_secret.json" 7val JSON_FACTORY = JacksonFactory.getDefaultInstance() 8val TOKENS_DIRECTORY_PATH = "tokens" 9 10class GoogleSpreadSheet { 11 12 @Throws(IOException::class) 13 fun getCredentials(HTTP_TRANSPORT: NetHttpTransport): Credential? { 14 // Load client secrets. 15 val `in`: InputStream = GoogleSpreadSheet::class.java.getResourceAsStream(CREDENTIALS_FILE_PATH) 16 ?: throw FileNotFoundException("Resource not found: $CREDENTIALS_FILE_PATH") 17 val clientSecrets = GoogleClientSecrets.load(JSON_FACTORY, InputStreamReader(`in`)) 18 19 // Build flow and trigger user authorization request. 20 val flow = GoogleAuthorizationCodeFlow.Builder( 21 HTTP_TRANSPORT, JSON_FACTORY, clientSecrets, SCOPES) 22 .setDataStoreFactory(FileDataStoreFactory(File(TOKENS_DIRECTORY_PATH))) 23 .setAccessType("offline") 24 .build() 25 val receiver = LocalServerReceiver.Builder().setPort(8888).build() 26 return AuthorizationCodeInstalledApp(flow, receiver).authorize("user") 27 } 28
試したこと
引数にあるclientSecretsが明らかに怪しいのでもう一度json形式のkeyを発行して書き換えたのですが同様のエラーが発生しました
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。