RSSフィードを介してGmailをチェックし、テキストを画面に出力するPythonスクリプトを一緒に作成しました。Python 2.6.6で動作しましたが、Python3.2.3で動作させることができませんでした。私はそれを変換するために2to3を使用しました。コードはここにあります:https://www.dropbox.com/s/b1277mi7vc7hv3f/gmailcheckparseconky.py3
この問題は、GetteEmailFeed関数で発生します。
使用すると恐ろしい" TypeError("expected bytes, not %s" % s.__class__.__name__)
"エラーが発生します
b64auth = base64.encodestring("%s:%s" % (user, password))
しかし、私が使用するとき
string = bytes("%s:%s" % (user,password), 'utf-8')
string2=str(string,'utf-8')
b64auth = base64.encodestring( string)
私は得る
auth = "Basic " + b64auth
TypeError: Can't convert 'bytes' object to str implicitly
これにより、問題全体が完全に元に戻るようです。
パスワードをテキストとしてハードコーディングしようとしましたが、機能しません。urllib.error.HTTPError: HTTP Error 401: Unauthorized
`auth =" Basic user:password "を設定する
と、
私が言ったように、私は一緒にコードを石畳にしました。Gmailが承認するために何が必要かを完全には理解していません。その流れに沿って続けて、私はこのコードを修正するのを手伝って、私がしていることと同じ/類似したことをするウェブ上の別のスクリプトを指すのではなく、Pythonを学び、よりよく理解できるようにしたいと思います。
よろしくお願いします、ニック