GoogleスプレッドシートからCSVにエクスポートしたデータを得る方法
公開日:
:
最終更新日:2020/01/20
Tips CSV, Google Drive, Google SpreadSheet
情報がない中さんざ苦労しましたが、Googleスプレッドシート(の最初のシート)をCSVとしてエクスポートしてstringとして得ることにやっとこ成功したので、事前準備とかの細かいところは省略してソースコードだけ記述してみます。
// --- fileId : スプレッドシートのfileId。DriveAPIを使って得る。mimeTypeはエクスポート先のmimeTypeを指定すること let query = GTLRDriveQuery_FilesExport.queryForMedia(withFileId: fileId, mimeType: "text/csv") // --- Serviceの初期化 let service: GTLRDriveService = GTLRDriveService() let user = GIDSignIn.sharedInstance().currentUser service.apiKey = "(APIキーを入れる)"; service.authorizer = user?.authentication.fetcherAuthorizer() service.executeQuery(query) { (ticket: GTLRServiceTicket, object: Any?, error: Error?) in if error == nil { let data = (object as! GTLRDataObject).data var strData = String.init(data: data, encoding: .utf8) // 目的のデータ } }
キモは最初のGTLRDriveQuery_FilesExport.queryForMediaの部分で、これで元ファイルをエクスポートしたデータをもらってくることができるんですね。で、GTLRDataObject.dataとしてバイナリデータが返ってくるので、utf8エンコードしてやると””でくくり、\r\nで改行コードが書かれたCSVデータが得られるので、CSVデータとして適切に加工すればOK! ヤッタネ!
関連記事
-
-
UIActionSheetが消えるときにキーボード表示/非表示通知が来る
UITextViewやUITextField編集中にアクションシートを表示すると、アクションシート
-
-
preferredContentSizeをUINavigationContorllerのPop時に再設定する
popoverで表示しているViewControllerのサイズを、他のViewController
-
-
iPadのUIModalPresentationFormSheetでキーボードが閉じない
iPadでUIModalPresentationFormSheet(全画面ではなく、中央にフロートし
-
-
UISegmentedControlに見栄え良く背景色を設定する
UISegmentedControlをiOS7で使おうとすると、基本の背景色が「透明」になりますが、
-
-
HTMLParserを修正する
HTMLスクレイピングしてる時に役立つライブラリであるObjective-C-HMTL-Parser
-
-
UILabelの改行をInterfaceBuilderから入力する
UILabelの行数は任意に設定できて、「0」を指定すると行数を限定しないで(UILabelのbou
-
-
Size ClassとUIViewController.view
タイトルの件でちょっとハマったことがある上に、特に日本語情報もStackOverflowからも情報が
-
-
UITableViewのヘッダに小文字を入れる
UITableViewのセクションヘッダをStoryboardでカスタマイズするという話題を以前掲載
-
-
UIActionSheetの文字がブレて多重表示される
UIActionsheetを使っていて、iOS7/iPadの組み合わせで起こる不具合らしき挙動が起こ