2015-11-14 15 views
6

this Yelp tutorialに触発されて、特定の都市のすべてのジムを検索するスクリプトを作成しました。最初の20だけでなく、すべてのジムを返すためにthese updatesでスクリプトを微調整しました。あなたは要点hereを見つけることができます。 SEARCH_LIMITは20です。Yelp APIからの不正リクエスト

エラーが発生しました。私はYelpチュートリアルにかなり近づきました、そして、それが何から来ることができるのか分かりません - 私はかなりリクエストが適切にエンコードされ、すべての私のAPIキーが正しいと確信しています。

プリントアウトは以下の通りです:彼らは+記号とスペースを置き換える例検索のparamsで

Traceback (most recent call last): 
    File "YelpSearch.py", line 97, in <module> 
    query_api() 
    File "YelpSearch.py", line 74, in query_api 
    response = search_yelp(offset) 
    File "YelpSearch.py", line 67, in search_yelp 
    return request(API_HOST, SEARCH_PATH, url_params=url_params) 
    File "YelpSearch.py", line 53, in request 
    conn = urllib2.urlopen(signed_url, None) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 127, in urlopen 
    return _opener.open(url, data, timeout) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 410, in open 
    response = meth(req, response) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 523, in http_response 
    'http', request, response, code, msg, hdrs) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 448, in error 
    return self._call_chain(*args) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 382, in _call_chain 
    result = func(*args) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 531, in http_error_default 
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) 
urllib2.HTTPError: HTTP Error 400: Bad Request 

答えて

1

:あなたの要点で

'term': term.replace(' ', '+'), 
'location': location.replace(' ', '+'), 

あなたのように場所をハードコードしている:+にスペースを変更し、'New York, NY'助けてください。

+0

これは何も変わることはありません – NumenorForLife

1

Yelp APIには制限があります。各リクエストにつき最大20項目を取得することができます。また、アクセス可能なアイテムの数は1000です。documentationの制限に関する情報は見つかりません。しかし、私はこれらの制限に関する情報をsupport groupに見つけました。これに基づいて、50個のリクエスト([1、...、20]、[21、...、40]、... [981、...、1000])に対して最大1000個のアイテムを取得できます。

あなたのスニペットについては、1000以上のアイテムを取得しようとしています。私はあなたの限界とオフセットパラメータを知っていました。 。 1001から1003までのアイテムを取得したいということです。それはドキュメントと矛盾します。

HTTP Error 400: Bad Requestはあなたがブラウザ上にあなたの最後のsigned_urlを開いた場合は、上記のような応答が表示されます応答

{ 
    error: { 
    field: "offset", 
    description: "The maximum number of accessible results is 1000", 
    id: "INVALID_PARAMETER", 
    text: "One or more parameters are invalid in request" 
    } 
} 

を得ることを意味します。また、応答ステータスコードは400 Bad Requestです。

+0

どうすればそれを修正することをお勧めしますか? – NumenorForLife

+0

サポーターについてどう思いますか?私は彼らがあなたを助けることができると思う。 –

+0

わかりません – NumenorForLife

関連する問題