さて、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