如何在ZillowR中使用zillow api

时间:2019-07-04 21:22:10

标签: r api zillow

我想从Zillow API访问GetDeepSearchResults信息。

我的代码:

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 个答案:

答案 0 :(得分:2)

传递参数(不属于函数的一部分)时,通常会出现未使用的参数错误。因此,R不知道该如何处理并返回错误。您可以使用?GetDeepSearchResults

检查函数的documentation

这向您显示用法:

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

要进行此工作,您必须首先设置ID(可以在https://www.zillow.com/howto/api/APIOverview.htm上创建ID):

set_zillow_web_service_id("youractualkey")

因此您的函数没有参数zipcodeapi_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()。因此,无需更改默认值。但是当您从zillow使用zws_id ="youractualkey"时,可以跳过此步骤

我建立了一个用于验证的随机帐户。这给了我输出:

$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不相关,必须在网站上设置。