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! ヤッタネ!
関連記事
-
UITableViewのヘッダに小文字を入れる
UITableViewのセクションヘッダをStoryboardでカスタマイズするという話題を以前掲載
-
”No Scheme”になってしまった場合の対応
知人がXcodeで突然「No Scheme」表示になってRunするターゲットとデバイスが選択できない
-
CALayerの管理
CALayerはNSKeyValueCodingを実装している(Core Animation Ext
-
iOS8のシミュレーターでLocalizationのテストをする
iOS8.1のシミュレーターでは、従前できていたシミュレーター内での「設定」(Setting)からの
-
iOS9でのNSFetchedResultsContollerDelegateの挙動
ハマったので短いながらメモしたいと思います。 NSFetchedResultsContollerD
-
Bitbucketの画面の日本語化/コミット時に同時プッシュを行う
前回の記事の続きで、Bitbucketの画面の日本語化と、Xcodeでコミットするときに同時にpus
-
iOS7でのPopover内サイズの指定
UIPopover内で表示する場合のViewControllerのコンテンツサイズ設定に関してのメモ
-
UICollectionViewが画面回転した時にレイアウトが崩れた時の対応
UICollectionViewCellのサイズを、内容に合わせて動的に変えた時に起こる問題に関して
-
UITableViewのセクションヘッダをStoryboardで作る時の参考
UITableViewのセクションヘッダをカスタムして作る際に、セルと同様にプロトタイピングするため