Как использовать Zillow API с ZillowR - PullRequest
7 голосов
/ 05 июля 2019

Я хочу получить доступ к информации GetDeepSearchResults из Zillow API.

Мой код:

library(ZillowR)
zapi_key = getOption('Myapikey')
GetDeepSearchResults(
    address = '600 S. Quail Ct.',
    zipcode = '67114',
    rentzestimate = FALSE,
    api_key = zapi_key
)

Ошибка:

Error in GetDeepSearchResults(address = "600 S. Quail Ct.", zipcode = "67114",  : 
  unused arguments (zipcode = "67114", api_key = zapi_key)

Почему возникает эта ошибка?Что я могу сделать, чтобы это исправить?


Редактировать: Я изменил код в соответствии с комментариями и получил это:

Мой код:

library(ZillowR)
zapi_key = getOption('myapikey')
GetDeepSearchResults(
    address = '600 S. Quail Ct.',
    citystatezip = '67114',
    rentzestimate = FALSE,
    zws_id = 'myapikey',
    url = "http://www.zillow.com/webservice/GetDeepSearchResults.htm"
)

Вывод:

$request
$request$address
NULL

$request$citystatezip
NULL

$message
$message$text
[1] "Error: invalid or missing ZWSID parameter"

$message$code
[1] "2"

$response
NULL

Как это исправить?

1 Ответ

2 голосов
/ 05 июля 2019

Ошибка неиспользованных аргументов типична, когда вы передаете аргументы, которые не являются частью функции. Поэтому R не знает, что с ними делать, и возвращает ошибку. Вы можете проверить документацию функции с помощью ?GetDeepSearchResults

Показывает использование:

GetDeepSearchResults(address = NULL, citystatezip = NULL,
  rentzestimate = FALSE, zws_id = getOption("ZillowR-zws_id"),
  url = "http://www.zillow.com/webservice/GetDeepSearchResults.htm")

Чтобы выполнить эту работу, вы должны сначала установить свой идентификатор с помощью (вы можете создать идентификатор на https://www.zillow.com/howto/api/APIOverview.htm):

set_zillow_web_service_id("youractualkey")

То есть у вашей функции нет аргументов zipcode и api_key. Давайте изменим ваши аргументы на те, которые существуют:

    GetDeepSearchResults(address='600 S. Quail Ct.', citystatezip ='67114',
                         rentzestimate=FALSE)

Вы наверняка признали, что я не использовал ваш api_key. Это потому, что по умолчанию: zws_id = getOption("ZillowR-zws_id") вызывает ваш глобальный 'ZillowR-zws_id', который вы только что установили с помощью команды set_zillow_web_service_id(). Поэтому нет необходимости менять значение по умолчанию. Но вы можете пропустить это при использовании zws_id ="youractualkey" от zillow

Я сделал случайный счет, который я настроил для проверки. Это дает мне вывод:

$request
$request$address
NULL

$request$citystatezip
NULL


$message
$message$text
[1] "Error: this account is not authorized to execute this API call"

$message$code
[1] "6"


$response
NULL

Итак, я мог успешно связаться с сервером, и мой ключ был распознан. Полномочия учетной записи не связаны с R и должны быть установлены на веб-сайте.

...