Google Drive + Heroku + LINE BOT + Pythonをしたい1

今回はGoogle Drive に入っているテキストファイルをの内容を読み込んでLINE BOTでメッセージを送るとそのファイルの内容が帰ってくるというアプリケーションを作成しようとしたってことです。

作りながら書いているのでまだわからないけどね!ははっ!

pythonでgoogle driveを操作する – in my 雑記

このサイトの記事を参考に、google apiに登録して「クライアントID」、「クライアントシークレット」を取得します。
んで、PyCharmでプロジェクトを作成し、プロジェクトにsetting.yamlっていうのを新規作成して、上記のサイトに書いてあった内容にした。
(でもこれってHerokuに上げられなくね・・・?)(Herokuってプライベートリポジトリでも行けるのかな・・・?)
まぁ最悪環境変数使ってHeroku側でsettings.yamlファイル作らせればいいか
とりあえずGoogleDrive側には[Hello World in TextFile]と書かれたtext.txtファイルをアップロードしておいた。 今回はLINE BOT上でこれが扱えたら勝ちだとしよう。

とりあえずローカルでPyDriveの確認

をしてみました。
とりあえずこんなのをプロジェクトファイルに作った。

実行してみる

やばいもう詰んだか・・・?と思ったらAPI有効化してなかっただけだったので指定のURLにアクセスして再度チャレンジした。

 

結果

非常に微妙な結果となった。なんというか最初にファイル一覧を表示させた所、そこは空になっていた。APIごとにフォルダーみたいなのが出来ていると考えられる。

検証

ファイルのアップロード後、ファイルの一覧を取得させる。

出力は以下のようになった。

idは一応隠している。 正常に取得出来ていることがわかる。

ここで同じファイルをアップロードしてみる。
先程のプログラムを実行した所、IDが違う同名のファイルが作成されていた。

このことから、今回のテストで出力される文字列を変更したい場合には、その度にIDを取得する必要があると考えられる。
次にこのようなコードを作成した。

idは先程取得した文字列を用いている。
これは正常に動作していた。

 

Herokuを試す

次にHerokuを試してみる。 今回、LINE BOTはFlaskで実装するため,とりあえずFlaskで簡単なプログラムを実装しそれをHerokuにデプロイする。
FlaskもHerokuも超初心者なので

Re:ゼロからFlaskで始めるHeroku生活 〜環境構築とこんにちは世界〜

を参考に進めていく。
コードや環境構築はPyCharmの新規プロジェクトを選んでFlaskを選択したときに出るハロワプロジェクトを使った。
一応コード

見ればわかる感じのコードほんといいですよね。
このタイミングでHerokuに登録した。
pip freeze > requirements.txt
をPyCharmの下の方にあるターミナルから実行してライブラリ一覧ファイルを作った。

んでここでgitにアップロードするんだけど、ここでプライベートリポジトリにしてみる。
理由は出来るかよくわからないから。
んでサイト通りに色々やってたら・・・

だめでした。

色々あったけどH14エラーを回避できません。

とりあえずパブリックレポジトリにして再制作
あ、gunicornいれてねぇかも・・・

色々調べまくってProcfileとかをこのサイトを参考にしてみる。

Decentralized Life

H20エラーが出てきた。 もういややもう寝る

未分類

Posted by reud