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! ヤッタネ!
関連記事
-
-
iOSシミュレータの帯域制限をテストする
iOSシミュレータで通信帯域制限をテストしたいと思ったんですが、Xcode8からXcode7.xとは
-
-
RealmのList
とArray の相互変換によるマップ Realm+ObjectMapperを使って、RealmのオブジェクトをJSON変換してたのですが
-
-
iPad用storyboard⇔iPhone用Storyboardへの変換
iPad用アプリとしてiPad用前提のstoryboardから、iPhone対応にするにあたり、si
-
-
UIActionSheetが消えるときにキーボード表示/非表示通知が来る
UITextViewやUITextField編集中にアクションシートを表示すると、アクションシート
-
-
UISplitViewControllerの仕切り線の色を設定
UISplitViewControllerで、iPadを横向き(Landscape)にしたときの2つ
-
-
UIAutomation関連覚書
割りと忘れがちなので、自分用備忘録を兼ねて、UIAutomationに関連するtips的なものをまと
-
-
App Storeのページにアプリケーションから直接アクセスする方法
去年(2013年)の秋ごろ、iOS7の出始めの時期に書かれたblog記事などを参考にすると、iOS6
-
-
UITableViewのセクションヘッダをStoryboardで作る時の参考
UITableViewのセクションヘッダをカスタムして作る際に、セルと同様にプロトタイピングするため
-
-
iOS9でURLスキームを登録する
私事ですが、iOS8から対応はしたいということで検証用に使っている自分のiPhoneもiOS8でがん
