1
Python 2.7で動作するコードで作業していますが、3.6で使用すると動作しません。これは、Amazon MWS APIコールのシグネチャをエンコードするためのものです。3.xと2.xでのPython HMAC /エンコーディング
はPython 2.7での元のコードは:
sig_encoded = base64.b64encode(hmac.new(str(self.secret_key), sig_data, hashlib.sha256).digest())
私は、ここにいくつかの他の記事を読んで指示に従っており、この思い付いた:
のPythonしかし3.6
key_enc = (bytes(self.secret_key, "utf-8"))
sig_data_enc = (bytes(sig_data, "utf-8"))
sig_encoded = base64.b64encode(hmac.new(key_enc, sig_data_enc, hashlib.sha256).digest())
これはAPIからエラーを返します。 Python 3.6で使用されているバージョンで何が問題になっていますか?
ありがとうございます!