Pregunta Bing Search API en Ruby


yo leo el "API de búsqueda de Bing - Inicio rápido" pero no sé cómo hacer esta solicitud http en Ruby (Cansado)

¿Cómo traducir "Stream_context_create ()" en Ruby? ¿Y que significa?

"API de búsqueda de Bing - Inicio rápido" enter image description here

Me gustaría usar un SDK de Ruby, pero los que encontré están en desuso ex (Rbing) https://github.com/mikedemers/rbing ¿Conoce un Wrapper actualizado para la API de Bing Search (resultados solo para la web)?


5
2017-12-01 14:38


origen


Respuestas:


De acuerdo, después de una hora de frustración descubrí la manera de hacerlo. Este código es horrible porque es la primera versión que tengo trabajando. Básicamente, ignore todo lo relacionado con la codificación base64 porque me daba un error que solo admitía la autenticación básica oAuth. Resulta que la documentación de Microsoft estaba equivocada y se supone que debes usar la clave de tu cuenta como la contraseña en la solicitud en lugar de la cadena codificada.

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

7
2017-12-02 02:37



Prueba el bing-search joya:

require 'bing-search'

BingSearch.account_key = <your key>
BingSearch.web_only = true
results = BingSearch.web('stack overflow')

La documentación es aquí y la fuente está en GitHub. (Descargo de responsabilidad: escribí la gema de búsqueda de Bing.)


2
2018-01-22 04:06



Wow, Microsoft docs eh, algo tan simple y he pasado 30 minutos rastreando la red para descubrir cómo usarlo. De todos modos, aquí hay otra versión de la respuesta de Chris Bui, usando 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

1
2017-09-19 17:52