【发布时间】:2014-08-15 21:25:17
【问题描述】:
到目前为止,我尝试了不同的方法,包括 fromJSON(readLines(url),unexpected.escape="keep")
和fromJSON(getURL(url),unexpected.escape="keep")。
我现在偶然发现的是,如果我的请求如下所示:
url = "https://api.instagram.com/v1/users/142121981/?client_id=****************************"
(填写您的客户 ID)结合 readLines(),到目前为止对我来说效果更好,我收到错误:
Error in file(con, "r") : cannot open the connection
In addition: Warning message:
In file(con, "r") : cannot open: HTTP status was '400 BAD REQUEST'
如果你在浏览器中打开这个 URL,你仍然会得到一个 JSON 字符串:
{"meta":{"error_type":"APINotFoundError","code":400,"error_message":"this user does not exist"}}
告诉我,具有此 ID 的用户不存在。
我想要的是 readLines() 的替代品,它仍然会读取这个 JSON 字符串而不是抛出错误。
希望这是足够的解释!如果不问我任何你需要知道的事情!
【问题讨论】:
-
您尝试过
httr或RCurl软件包吗?您可以使用这些库来调整您的请求并明确指定标头等。确保您形成了 API 指定的确切请求类型。 -
我将深入研究这些库。但这是 API 想要看到的请求。如果我使用现有的用户 ID,它可以正常工作!
-
我明白了。 Readlines 只是不希望 200 以外的任何状态代码有用。这些其他库允许对返回的内容进行更多控制。
-
是的,似乎是这样。再次感谢!