2

IBM Watson の Retrieve and Rank サービスを使用しています。このサービスは、検索結果を返す REST API を提供します。以下はAPI URLです

https://username:password@gateway.watsonplatform.net/retrieve-and-rank/api/v1/solr_clusters/sc6e46e4f5_f30c_4a8a_ae9c_b4ab6914f7b4/solr/example-collection/select?q= 質問&wt=json&fl=id,title,body

お気づきのとおり、この URL にはユーザー名とパスワードが含まれています。Retreive and Rank のドキュメントでは、API を呼び出すための上記のパターン、つまり URL の一部としてユーザー名とパスワードを使用する方法について言及しています。これをGoogle Chromeに貼り付けると、ユーザー名とパスワードを再入力するダイアログボックスが表示されます。資格情報を入力すると、データが表示されます。

私の質問は、Node.js を介してそのような URL を呼び出すにはどうすればよいかということです。どこから始めて、どのような手順に従うべきかわかりません。

4

2 に答える 2

3

IBM Watson の Retrieve and Rank サービスの API は Basic 認証を使用しています。方法はいくつかありますが、そのうちの 1 つ - モジュールを使用しますrequest

var url = "https://gateway.watsonplatform.net/retrieve-and-rank/api/v1/solr_clusters/sc1ca23733_faa8_49ce_b3b6_dc3e193264c6/solr/example_collection/select?q=what%20is%20the%20basic%20mechanism%20of%20the%20transonic%20aileron%20buzz&wt=json&fl=id,title"

request.get('http://some.server.com/', {
  auth: {
    user: 'username',
    pass: 'password',
    sendImmediately: false
  },
  json: true
}, function(error, response, body) {
     console.log( 'Found: ', body.response.numFound );
});

また

var username = 'username',
    password = 'password',
    url = "https://" + user + ":" + password + "@" + "gateway.watsonplatform.net/retrieve-and-rank/api/v1/solr_clusters/sc1ca23733_faa8_49ce_b3b6_dc3e193264c6/solr/example_collection/select?q=what%20is%20the%20basic%20mechanism%20of%20the%20transonic%20aileron%20buzz&wt=json&fl=id,title"

request({url: url, json: true}, function (error, response, body) {
   console.log( 'Found: ', body.response.numFound );
});
于 2016-02-24T11:30:56.473 に答える