5

「Bing Search API - クイック スタート」を読みましたが、この http 要求を Ruby で作成する方法がわかりません ( Weary )

Rubyで「Stream_context_create()」を翻訳するには? とはどういう意味ですか?

「Bing 検索 API - クイック スタート」 ここに画像の説明を入力

Ruby sdk を使用したいのですが、見つかったものは非推奨です ex (Rbing) https://github.com/mikedemers/rbing Bing Search API の最新のラッパーを知っていますか (Web のみの結果)?

4

3 に答える 3

7

さて、1時間の欲求不満の後、私はそれを行う方法を見つけました. このコードは、私が最初に動作させたバージョンであるため、ひどいものです。基本的に、base64 エンコードに関するすべてを無視します。これは、oAuth と基本認証のみがサポートされているというエラーが表示されたためです。Microsoft のドキュメントが間違っていたことが判明したため、エンコードされた文字列の代わりに、アカウント キーをパスワードとしてリクエストで使用することになっています。

require 'net/http'

accountKey = 'KEY'

url = 'https://api.datamarket.azure.com/Data.ashx/Bing/SearchWeb/v1/Web?Query=%27xbox%27&$top=50&$format=json'

uri = URI(url)

req = Net::HTTP::Get.new(uri.request_uri)
req.basic_auth '', accountKey

res = Net::HTTP.start(uri.hostname, uri.port, :use_ssl => uri.scheme == 'https'){|http|
  http.request(req)
}
puts res.body
于 2012-12-02T02:37:09.083 に答える
1

うわー、microsoft docs ええと、とてもシンプルなもので、ネットを 30 分かけてその使い方を調べました。とにかく、これは Chris Bui の答えをRestClientを使用して別の方法で示したものです。

class BingSearch
    def self.for(account_key, query)
        puts RestClient.get("https://:#{account_key}@api.datamarket.azure.com/Bing/SearchWeb/v1/Web?Query='#{CGI::escape(query)}'&$format=json")
    end
end
于 2013-09-19T17:52:56.613 に答える