Python クライアント ライブラリを使用してDiscogs APIにアクセスしようとしています。
以下は、Discogs API を操作する試みの最小限の例です。
from SensitiveInformation.discogs_application_info import provide_discogs_auth, provide_verifier
import discogs_client
discogs_consumer_key, discogs_consumer_secret = provide_discogs_auth()
discogs = discogs_client.Client(user_agent="ThoughfulMachineLearning",
consumer_key=discogs_consumer_key,
consumer_secret=discogs_consumer_secret)
discogs_auth_url = discogs.get_authorize_url()
discogs.get_access_token(verifier=provide_verifier())
discogs.identity()
関数provide_discogs_auth
とprovide_verifier
は、ユーザー認証からコンシューマー キーとシークレット、および検証者を返すだけです。get_access_token
期待どおりにアクセスキーとシークレットを返します。
ただし、最後の行で API 呼び出しを行うと、次のようになります。
Out[38]: In[39]: discogs.identity()
Traceback (most recent call last):
Out[39]: File "/usr/local/lib/python3.4/dist-packages/IPython/core/formatters.py", line 219, in catch_format_error
r = method(self, *args, **kwargs)
File "/usr/local/lib/python3.4/dist-packages/IPython/core/formatters.py", line 690, in __call__
printer.pretty(obj)
File "/usr/local/lib/python3.4/dist-packages/IPython/lib/pretty.py", line 407, in pretty
return _default_pprint(obj, self, cycle)
File "/usr/local/lib/python3.4/dist-packages/IPython/lib/pretty.py", line 527, in _default_pprint
_repr_pprint(obj, p, cycle)
File "/usr/local/lib/python3.4/dist-packages/IPython/lib/pretty.py", line 709, in _repr_pprint
output = repr(obj)
TypeError: __repr__ returned non-string (type bytes)
これが IPython に関連しているのか、クライアント ライブラリに関連しているのかはわかりませんが、どちらの方法でも助けていただければ幸いです。ありがとう。