![](https://clione33.online/wp-content/uploads/2022/12/worried_man01-150x150.png)
PythonでGmailを扱いたいけど、2段階認証のエラーがでる!
そんなお悩みをこの記事では解決していきます。
結論を先に言うと、Googleのマイアカウントから簡単にパスワードを発行することができます。
やり方は本記事を参考にしてください。
- imaplib.errorの解消法
- GAS使用時のGmail2段階認証の突破方法
- Gmailのセキュリティパスワードの発行方法
環境
OS | Mac 10.15.4 |
Python | python 3.9 |
仮想環境 | Poetry |
Homebrew | 8.0.19 Homebrew |
【参考】PythonとGmailの連携をおさらい
PythonとGmail の連携の記事はこちらを参考にしてください。
![](https://clione33.online/wp-content/uploads/2021/09/210918_python_gas_gmailapi_oauth1-300x158.png)
![](https://clione33.online/wp-content/uploads/2021/09/210918_python_gas_gmailapi_oauth1-300x158.png)
【前提】Gmailの2段階認証を設定しているとエラーが出る
上記の記事では、通常のログインパスの設定を想定したのですが、
Gmailの2段階認証を設定している方も多くいるはずです。
僕自身、仕事では二段階認証を厳守しているので、Pythonから操作をしようとすると、以下のエラーがでてしまいます。
imaplib.error: b'[ALERT] Application-specific password required
解決方法は、Pythonからログインするために必要な、Googleのパスワードの発行すればOKです。
Google セキュリティ パスワード発行の方法
まずは以下から、マイアカウントにいきます。
次に、Googleアカウントのセキュリティから、下の方にある「アプリパスワード」を選択。
![Googleアカウント セキュリティ アプリパスワード](https://clione.online/wp-content/uploads/2021/11/google_api_security1_01.png)
![Googleアカウント セキュリティ アプリパスワード](https://clione.online/wp-content/uploads/2021/11/google_api_security1_01.png)
再度ログインを求められるので、ログイン。
アプリパスワードの作成画面が表示されたら、アプリとデバイスの選択を選択します。
![Googleアカウント アプリパスワードの作成](https://clione.online/wp-content/uploads/2021/07/google_api_security1_2.png)
![Googleアカウント アプリパスワードの作成](https://clione.online/wp-content/uploads/2021/07/google_api_security1_2.png)
追記:「その他(名前を入力)を選ぶ」と名前を入力できるため、パスワードが増えた際に管理が便利です。
![Googleアカウント セキュリティ アプリパスワード その他](https://clione.online/wp-content/uploads/2022/05/google_api_security-extra-name_01-2.png)
![Googleアカウント セキュリティ アプリパスワード その他](https://clione.online/wp-content/uploads/2022/05/google_api_security-extra-name_01-2.png)
![Googleアカウント セキュリティ アプリパスワード その他 名前の入力](https://clione.online/wp-content/uploads/2022/05/google_api_security-extra-name_02-2.png)
![Googleアカウント セキュリティ アプリパスワード その他 名前の入力](https://clione.online/wp-content/uploads/2022/05/google_api_security-extra-name_02-2.png)
ちなみに、僕はMacユーザーなので、Macを選択。
そしてGmailアプリとの連携を想定して、メールを選択しています。
「生成」を押すと、16桁のアルファベットが表示されます。
これがアプリパスワードです。
![](https://clione.online/wp-content/uploads/2021/07/google_api_security1_3.png)
![](https://clione.online/wp-content/uploads/2021/07/google_api_security1_3.png)
忘れないようにコピペしておきましょう。
Pythonスクリプト上に反映
最後に、Pythonスクリプトのパスワードを差し替えます。
通常のログインパスワードから、今回発行された16桁のパスワードに変更。
![Pythonスクリプト アプリパスワード](https://clione.online/wp-content/uploads/2021/11/google_api_security1_04R.png)
![Pythonスクリプト アプリパスワード](https://clione.online/wp-content/uploads/2021/11/google_api_security1_04R.png)
これで設定完了です。
いつも通りPythonを実行すれば、Gmailにログインできるはずです。
まとめ
Google APIの2段階認証時のパスワードの発行方法をお伝えしました。
特にGmailの連携を行うときに、二段階認証をしているケースが多いと思うので、非常に役に立つはずです。
imaplib.error: b'[ALERT] Application-specific password required
上記のエラーが出た際は、試してみてください。
この記事が参考になれば嬉しいです。
コメント