オムライスの備忘録

数学・統計学・機械学習・プログラミングに関することを記す

【ライフハック】Githubで管理しているMarkdownを自動でGoogleSlidesに変換する#02

Githubで管理しているMarkdownを自動でGoogleSlidesに変換する#02

まえがき

  • Googleのクレデンシャル編
  • Markdown をパワーポイントに変換したファイルを Google Drive にアップロードするための認証準備

image6

作業内容

  • Google Drive の認証OAuth について
  • Google APIsでOAuth クライアント IDを取得
  • Docker環境作成
  • GoogleDrive へ初回アクセスしてクレデンシャル情報を取得

参考

Google Drive の認証OAuth について

  • Google Drive へ ファイルをプログラムからアップロードしたい
  • しかし、誰でもGoogle Drive のリソースにアクセスできてしまったらセキュリティ上良くない
  • なので、予めアクセスするプログラム(アップロードプログラム = PyDrive)をGoogle に教えておく(= 「OAuth クライアント ID」を発行する -> client_secrets.json)
  • そして、ユーザーがそのプログラムを使用して自身のGoogle Drive のリソースにアクセスするときに、そのプログラムがリソースにアクセスすることを許可することでクレデンシャル情報を取得する(credentials.json = これがあれば、その「ユーザーのリソース」に「そのプログラム」がアクセスできる)

Google APIsでOAuth クライアント IDを取得

Docker環境作成

  • Google Drive の認証OAuth について」でもあったように、一度ファイルアップロードプログラムを起動させ、Google Drive へアクセスすることで「client_secrets.json」が取得できる(これがあればプログラムからGoogle Drive へアクセスできる)
  • そのために、Docker環境でアップロードプログラムが起動できる環境を作成する
  • md2ppt_withGDrive を git clone
  • secrets に client_secrets.json 設置

GoogleDrive へ初回アクセスしてクレデンシャル情報を取得

  • docker_exe.sh がレポジトリにあるので、それを使って初回の処理を開始
  • 処理内容は
    • docker build
    • docker run
  • コンテナ内に入ったら、md2gslides.sh ./test.md を実行
  • うまく実行できていたら、ターミナルにURLが表示される
  • ブラウザを利用し、URLにアクセス
  • ファイルをアップロードしたいユーザーを選択

image3

  • アクセス内容を確認

image4

  • コードが表示されるので、コピーしてターミナルに入力

image5

  • secrets フォルダに credentials.jsonが生成されていたら成功です
  • credentials.jsonclient_secrets.json の準備が完了