私はAPIを使って作業できるように、私はPythonを学ぼうとしています。私が使っていたチュートリアルでは、python 2とurllibを使っていました。私はPython 3.6を実行しているので、動作しませんでした。だから、私は試してみることにしました。私はurllibから要求に変換するのに少し問題があります。リクエストのパラメータ
import requests
import json
parameters = {"apikey": "mykey", "queries": "SN74S74N"}
response = requests.get("http://octopart.com/api/v3/parts/match", params =
parameters)
data = response.json()
#print(type(data))
print(data)
私はこれを実行すると、私は取得エラーは、私は、なぜ私はこのエラーを取得していますかわからない
{'message': 'JSON decode error: SN74S74N', '__class__': 'ClientErrorResponse'}
です。しかし、私のパラメータは正しく設定されていないためかもしれないと思う。リクエストはドキュメントにあるのと同じことをすることができますか? https://octopart.com/api/docs/v3/rest-api#endpoints-parts-match
残念ですが、これはあいまいです。私はちょうどpythonとapisを学び始めました。疑問をさらに明確にするために周りにいます。
ドキュメントによるとhttps://octopart.com/api/docs/v3/rest-api#endpoints-parts-match、 'クエリの値が='単純な文字列であってはなりません「SN74S74N」のように。 –
Octopart APIのドキュメントを見てみると、APIが返すエラーは、クエリの値が期待通りのものではないということになります。リクエストは必要な処理を行っていますが、クエリの書式設定に取りかかる必要があります。 –
ドキュメント(https://octopart.com/api/docs/v3/overview)は、「クエリ」パラメータが文字列ではなく辞書のリストであることを示しているようです。 Pythonの例のように '' sketch ':' 67K1122 '、 ' reference ':' line2 '}のように 'queries = [ {' mpn ':' SN74S74N '、 ' reference ':' line1 '}、 { { 'mpn_or_sku': 'SN74S74N' '参照': 'LINE3'}、 { 'ブランド': 'テキサス・インスツルメンツ' 'MPN': 'SN74S74N' '参照': 'LINE4'} ] ' –