Как использовать поиск Bing entity API в R

Я реплицирую результаты кода в этом ответе: R: Как использовать поиск в Интернете на бесплатном уровне Bing с помощью R, но с тех пор, как был дан этот ответ, Bing API был обновлен.

Я могу воспроизвести результаты примера, приведенного на веб-сайте Microsoft, на Python, но не могу перевести это на R.

Это пример Python (который работает)

import http.client
import urllib.parse
import json

subscriptionKey = 'xxxxxxxxxxx'
host = 'api.bing.microsoft.com'
path = '/v7.0/entities'
mkt = 'en-US'
query = 'Wallmart'
params = '?mkt=' + mkt + '&q=' + urllib.parse.quote (query)


def get_suggestions ():
 headers = {'Ocp-Apim-Subscription-Key': subscriptionKey}
 conn = http.client.HTTPSConnection (host)
 conn.request ("GET", path + params, None, headers)
 response = conn.getresponse ()
 return response.read()


result = get_suggestions ()
print (json.dumps(json.loads(result), indent=4))

Вот как я смог получить тот же результат в R

library(httr)

server = "api.bing.microsoft.com"
path = '/v7.0/entities'
token = "xxxxxxx"
mkt = "en-US"
query = "Wallmart"
params = paste0("?mkt=", mkt, "&q=", query)


url = paste0(server,path,"search")

response = GET(url = url, 
               query = list(q = params), 
               add_headers(`Ocp-Apim-Subscription-Key` = token)
)

Это просто дает мне ошибку: Error in curl::curl_fetch_memory(url, handle = handle) : Protocol "" not supported or disabled in libcurl Другие базовые GET() команды, как описано здесь: https://cran.r-project.org/web/packages/httr/vignettes/quickstart.html работают.

ОТВЕЧАТЬ

Хорошо, я немного поспешил с вопросом. Я получил ответ: 1) используя предложение Мориса и 2) изменив запрос.

library(httr)

server = "https://api.bing.microsoft.com"
path = '/v7.0/entities/'
token = "xxxxxxx"
mkt = "en-US"
query = "Wallmart"


url = paste0(server,path)

response = GET(url = url, 
              query = list(mkt = mkt,
                            q = query), 
              add_headers(`Ocp-Apim-Subscription-Key` = token)
)


res = content(response, encoding = "json")
res


person L Smeets    schedule 22.06.2021    source источник
comment
Добавьте протокол в URL: https://api.bing.microsoft.com   -  person Maurice Meyer    schedule 22.06.2021