2016-04-27 1 views
0

私はAPIで作業することを学んでいます。私のようなAPI呼び出しをしようとしています:これをRESTful API呼び出しとしてどのようにフォーマットできますか?

curl -X POST https://api.locu.com/v2/venue/search -d '{ 
    "api_key" : "f165c0e560d0700288c2f70cf6b26e0c2de0348f", 
    "fields" : [ "name", "location", "contact" ], 
    "venue_queries" : [ 
    { 
     "name" : "bistro central parc" 
    } 
    ] 
}' 

これはcurlで動作しますが、私はcURLなしで呼び出したいと思っています。私はノードからのリクエストを使ってこれをやっていますが、今は郵便配達をして電話をかけたいだけです。私は試してみました:

https://api.locu.com/v2/venue/search?api_key={myAPIKey}&fields=["name","location","contact"]&venue_queries=[{name="bistro%20central%20parc"}] 

しかし、私は405メソッドを取得できません。私は明らかにこれを間違った方法で見ています。これはHTTPリクエストをフォーマットする適切な方法ではありませんか? JavaScriptで

が、これは次のようになります。

var request = require('request'); 
request('https://api.locu.com/v2/venue/search?api_key={myAPIKey}&fields=["name","location","contact"]&venue_queries=[{name="bistro%20central%20parc"}]', function (error, response, body) { 
    if (!error && response.statusCode == 200) { 
     console.log(body) // Print the google web page. 
    } 
}) 

やオプションを構造化するためのより良い方法があるでしょうか?確かにあります

+0

私は可能ではないと思います。元のリクエストはPOSTメソッドを使用して送信され、サーバーを制御できない場合は同等のGETメソッドはありません。これを行うには、サーバーの動作を変更する機能が必要です。 –

答えて

1

は、あなたが渡すことができますオブジェクト適量のドキュメントを見てみましょう:

QS - クエリ文字列値を含むオブジェクトは、URI

var request = require('request'); 

var queryObject = { field1:'test1', field2:'test2' }; 

request.get({url: url, qs: queryObject}) 
    .then(function(response){ 
    // do stuff 
    }) 
2

に追加しますあなたはjavascriptのリクエストはGETメソッドに投稿されていません。あなたは、次のようにそれを試すことができます。

postman

郵便配達員が希望主要な方法である場合、これはあなたが望むものでなければなりません。 javascript(またはnodejs)にプログラムでリクエストを送信する場合は、取得したリクエストメソッドを処理する必要があります。

+0

ええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええと、 Javaスクリプト要求が所有者が望むものであれば、あなたの答えはそうでなければなりません。しかし、著者は「今、私はちょうど電話をするために郵便配達員を使いたい」と言った。それが助けてくれれば幸いです。 –

+0

真実、私の悪い! – JordanHendrix

関連する問題