PythonからGmail APIを使ってメールの送受信をしてみよう!添付ファイルも対応【Pythonプログラミング学習】〜初心者向け〜

Ғылым және технология

📘 サプーの書籍が絶賛発売中 📘
Amazon ▶︎ www.amazon.co.jp/dp/4297142856
「VTuberサプーが教える! Python 初心者のコード/プロのコード」
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Pythonプログラミングに関する情報を発信しているサプーです!
この動画はGmail APIを使ってPythonからGmailのデータを取得したり、メールを送信するコードを紹介する動画です😊
・メールを送信するには?
・メールデータを取得するには?
・添付ファイルを送信したり、ダウンロードするには?
これらについて説明しています💙
実際にPythonコードを動かして実演しているので、最後まで見てもらえたら嬉しいです😊
動画の中でわからないことがあったら、
コメント欄に質問を投稿してもらえたら、
できる限り回答します!
💙 メンバーシップ 💙
説明動画 ▶︎ • 【ご報告】本日からメンバーシップ開始します!...
登録 ▶︎ / @pythonvtuber9917
iPhoneの方はこらから ▶︎ PythonSuppl/statu...
🖋 補足🖋
tokenは有効期限が切れたらリフレッシュトークンで再度tokenを生成する必要があります。tokenの再生成については、以下の公式サンプルコードの39, 40行目あたりを参考にしてみてください!
サンプルコード ▶︎ github.com/googleworkspace/py...
🎥 関連動画 🎥
Web API ▶︎ • 【おすすめWeb API】いろんなWeb A...
JSON ▶︎ • 【Pythonプログラミング入門】JSONを...
三項演算子 ▶︎ • 【Pythonプログラミング入門】三項演算子...
🐍 サンプルコード 🐍
token取得サンプルコード ▶︎ colab.research.google.com/dri...
メール送信サンプルコード ▶︎ colab.research.google.com/dri...
メールデータ取得サンプルコード ▶︎ colab.research.google.com/dri...
🌎 参考URL 🌎
スコープ一覧▶︎ developers.google.com/identit...
クエリーの書き方 ▶︎ support.google.com/mail/answe...
📦 ライブラリインストールコマンド 📦
pip install google-api-python-client google-auth-httplib2 google-auth-oauthlib
💻 動作環境 💻
Windows 10
Python 3.9.0
⭐️ チャプター ⭐️
0:00 今日のテーマ「Gmail APIでメール送受信」
0:31 今回やること
1:07 注意点
1:48 準備
5:38 token取得
7:55 メール送信
12:03 添付ファイル送信
17:18 メールデータ取得
27:21 添付ファイルダウンロード
30:31 エンディング
💜 チャンネル説明 💜
Pythonプログラミングについて解説するVtuber サプーです✨
初心者でも分かりやすく、Pythonを体系的に学習できるような動画をアップロードしていきます!
みんなが少しでもPythonが好きになってくれたら嬉しいな💕
Twitterもやってるので、フォローお願いします!
Twitter ▶︎ / pythonsuppl
メール ▶︎ python.supu.vtuber@gmail.com
#Python入門
#Gmail
#メール
#プログラミング
#初心者
#パイソン
#PythonVTuberサプー

Пікірлер: 35

  • @pythonvtuber9917
    @pythonvtuber99172 жыл бұрын

    【補足】tokenは有効期限が切れたらリフレッシュトークンで再度tokenを生成する必要があります。tokenの再生成については、以下の公式サンプルコードの39, 40行目あたりを参考にしてみてください! サンプルコード ▶︎ github.com/googleworkspace/python-samples/blob/master/gmail/quickstart/quickstart.py

  • @natsuki1378
    @natsuki1378 Жыл бұрын

    とても参考になりました!いつも拝見してます!

  • @user-nj6od4im9u
    @user-nj6od4im9u5 ай бұрын

    とても分かりやすかったです! outlookのメール作業のの自動化も解説してくれる動画があれば、うれしいです。

  • @shina_928
    @shina_9282 жыл бұрын

    ちょうど困っていたところなので本当に助かります! いつもありがとうございます!

  • @pythonvtuber9917

    @pythonvtuber9917

    2 жыл бұрын

    コメントありがとうございます!! Gmail動画はコード量が多くて撮影も編集も大変でしたが、そう言ってもらえると本当に苦労が報われます☺️

  • @hassy3001
    @hassy30012 жыл бұрын

    今回もむちゃくちゃ勉強になりました! それにしても、これを初心者向け!としてしまうサプーさん、素敵です😊

  • @pythonvtuber9917

    @pythonvtuber9917

    2 жыл бұрын

    確かにメール受信のコードはややこしかったので、初心者の方だと難しいかもですね😵 お役に立てていたら嬉しいです!

  • @python3343
    @python33432 жыл бұрын

    わかりやすくて良い!

  • @pythonvtuber9917

    @pythonvtuber9917

    2 жыл бұрын

    ありがとうございます😊

  • @北暮
    @北暮8 ай бұрын

    今まで認証で躓いてきましたが、この動画で躓きの原因がわかりました。どうもありがとうございます。

  • @user-ts6zr9vv8h
    @user-ts6zr9vv8h Жыл бұрын

    いつも勉強させていただいております。ご質問なのですが、概要欄にあるサンプルコードをそのままコピペして実行すると in main for message in messages: TypeError: 'NoneType' object is not iterable このようなエラーが出てしまうのですが、これは原因などございますでしょうか。

  • @haya7816
    @haya7816 Жыл бұрын

    とてもためになる動画をありがとうございます。 動画を参考に色々やってみたのですが、添付ファイルが複数ある場合にどのようにすれば良いか答えが見つからず試行錯誤しています。 アドバイス頂けないでしょうか?

  • @moausuemits781
    @moausuemits7812 жыл бұрын

    長いこと待ってた動画出して頂きありがとうございいます!!!この動画のおかげで自分のやりたいことが進めることができて本当に助かっています!!! すいません、2点ほど質問があるので宜しければご教授頂ければ助かります。 ①動画のコードをベースに定期的にメールのチェックを行い【1時間に1回ぐらい】新着のメールのチェックを行いたい 場合、プログラムが動作した時に現在時刻を取得しその時刻とメールの日付時刻を比較して取得するようなことを行えばいいでしょうか? ②上記の①のコードを書く場合ベースコードのどの辺を改造すれば良いですか? 申し訳ありませんが、アドバイス頂けると助かります。

  • @pythonvtuber9917

    @pythonvtuber9917

    2 жыл бұрын

    ご質問ありがとうございます! 定期的に新着をチェックしたい場合は、おっしゃる通りメールの日時で判別してあげたら良いと思います!そのため、ヘッダー情報のメールの日時 情報 (動画上のmessage_date)の取得後に分岐を作ってあげてください😉 ちなみに、クエリーでメールの日付は絞り込むことができます!時刻まではなさそうです😵 クエリーの書き方 ▶︎ support.google.com/mail/answer/7190?hl=ja

  • @moausuemits781

    @moausuemits781

    2 жыл бұрын

    @@pythonvtuber9917 返信ありがとうございます!! 実際に自分でやってみようと思います。 今後の動画も期待してます!!!

  • @jirougegegeno6892
    @jirougegegeno68922 жыл бұрын

    画像を添付ではなく、本文内に挿入するにはどうしたらいいでしょうか? 本文をhtml形式にして、imgタグで頑張ってみましたが、うまくできません…

  • @pythonvtuber9917

    @pythonvtuber9917

    2 жыл бұрын

    ご質問ありがとうございます! そのようなことはやったことがないため、HTML形式で貼り付けても上手くいかない場合、どうしたら良いのか分かりません😵 お力になれず申し訳ないです...

  • @marudddddd
    @marudddddd Жыл бұрын

    すごい参考になります! ありがとうございます! そこで、メール本文まで取得できてくるのは、素晴らしいのですが、問題が、その後本文の内容のあるURLの情報を取得したい場合を考えています。 seleniumで開きたいのです。。。 やり方が、思いつきません。。。 毎回特定のURLでしたらいいのですが、そうではないので、、、 何か良い方法、ありますでしょうか!!😱😱 正規表現ですかね?!前方後方一致で

  • @pythonvtuber9917

    @pythonvtuber9917

    Жыл бұрын

    URLなら正規表現を使わなくてもx. startswith("")とstartswithを使って判別してはどうでしょうか?

  • @moausuemits781
    @moausuemits7812 жыл бұрын

    何度もすいません。 後1点質問させて下さい。 このg-mailのAPIは一日にAPIにアクセスできる回数の上限はあるのでしょうか? 【もし上限があったとして一日に何十回、何百回もアクセスして上限を超えたら自動的に費用を請求されるなんて事があるのでしょうか?】

  • @pythonvtuber9917

    @pythonvtuber9917

    2 жыл бұрын

    Gmail APIのアクセス上限はあります!クオーターという単位でカウントして、1日の合計クオーターが上限に達すると使えなくなります😵 一日1,000,000,000クオータが上限みたいです。 どんなリクエストを出すと、何クオーターなのかはこちらに記載されています!▶︎ developers.google.com/gmail/api/reference/quota 動画の冒頭中でも説明している通り、GCPは勝手に請求されることはありませんのでご安心を😉

  • @moausuemits781

    @moausuemits781

    2 жыл бұрын

    @@pythonvtuber9917 アドバイスありがとうございます!

  • @user-mk8wu4hv2u
    @user-mk8wu4hv2u2 жыл бұрын

    webスクレイピングでgメールの送受信やカスタマイズ出来たかと思うのですが、それと比べてgmail のAPI を使った方が得って思う利点が知りたいです。

  • @pythonvtuber9917

    @pythonvtuber9917

    2 жыл бұрын

    Gmailってスクレイピングは許されているんでしたっけ...?? APIがあるなら、APIを使う方が安心だし簡単だと思います😉

  • @VintageCarForest
    @VintageCarForest Жыл бұрын

    通常のプロバイダメールを受信して、添付CSVファイルを日付毎のフォルダを作成して自動保存するプログラムも教えていただけないでしょうか?

  • @pythonvtuber9917

    @pythonvtuber9917

    Жыл бұрын

    検討してみますね!

  • @user-xw3cm5ib3v
    @user-xw3cm5ib3v2 жыл бұрын

    いつも素晴らしいコンテンツありがとうございます ひとつお聞きしたいのですが、BGMはお付けにならないのですか? 内容の濃い動画ですのでBGMがあった方が気軽に見易くなるのではと思っています これからも頑張ってください

  • @pythonvtuber9917

    @pythonvtuber9917

    2 жыл бұрын

    ご視聴いただきありがとうございます😊 BGMは動画の最初と最後だけつけています!時間が長い動画だと、説明を淡々と聞いているのは辛くなりますよね...私の撮影・編集のスキルがイマイチで申し訳ないです😵 BGMも含めて、視聴しやすい動画作りを考えてみますね😉

  • @user-xw3cm5ib3v

    @user-xw3cm5ib3v

    2 жыл бұрын

    これから更に多くの方が視聴なさるでしょうから頑張ってください!

  • @tzr250
    @tzr2502 жыл бұрын

    1年ほど前に分からなくなって調べようと思いつつ放置してたやつです。 ラズパイに電光掲示板を接続し特定の人からメールが届いたら電光掲示板に件名を表示しつつ照明の色を変える。 まで出来たのですが数日すると何かが(トークン?)が古くなったようなメッセージがログに残っていて動作しなくなりました。※記憶微妙 色々と最初からやり直せば復活するのですが、すぐに同じ状況に陥ります(> そんなわけで放置を思い出したので再チャレンジっす。 ※ソースコード頂きます(^^v

  • @pythonvtuber9917

    @pythonvtuber9917

    2 жыл бұрын

    コメントありがとうございます😊 動画ではきちんと説明できてなかったのですが、アクセストークンの有効期限が切れた場合、リフレッシュトークンで再度アクセストークンを生成する必要があります!公式のquickstart.pyにそのやり方が書かれているので、参考にしてみてください😉 (39行目あたり) github.com/googleworkspace/python-samples/blob/master/gmail/quickstart/quickstart.py

  • @tzr250

    @tzr250

    2 жыл бұрын

    @@pythonvtuber9917 先生!ありがとうございます。このソースをほぼ丸パクリで実装したので、変更時に壊したかもです 🙃 あー冬休みの宿題が増えちゃいました 😱

Келесі