将 Yelp API 与 R 结合使用,尝试使用地理坐标搜索业务类型
Using the Yelp API with R, attempting to search business types using geo-coordinates
尝试使用 R 和库 ROAuth 连接到 yelp API。
很棒的 python 使用 rauth 模块和地理坐标的示例:
https://gist.github.com/phillipjohnson/8889618
并想完全做到这一点,但在 R 中并使用像 ROAuth 这样的库。
我一直在尝试创建握手等:
credentials <- OAuthFactory$new(consumerKey=consumerKey,
consumerSecret=consumerSecret,
oauthKey = token,
oauthSecret = token_secret,
authURL="http://api.yelp.com/v2")
credentials$handshake()
credentials$OAuthRequest(testURL, "GET")
但没有通过握手。 Yelp 使用 ROAuth 包支持的 OAuth 1.0。从我看到的其他代码中,它需要 'oauth_consumer_key'、'oauth_nonce'、'oauth_signature_method'、'oauth_timestamp'、'oauth_token'。对于使用 R 使用地理坐标查询 Yelp 的人的任何提示,我将不胜感激。谢谢!
在 ROAuth 的作者推荐使用 library(httr) 之后,由于在 R 中缺少使用任一库的简单 yelp 示例,我想其他人可能也在寻找这个。这将 return 按名称在芝加哥地区的 10 个酒吧,或按地理坐标在旧金山的 10 个酒吧。将 x 替换为您自己的 yelp 帐户密钥。 (这是从许多来源拼凑而成的——感谢所有这些来源)。
# yelp
consumerKey = "xxxx"
consumerSecret = "xxxx"
token = "xxxx"
token_secret = "xxxx"
require(httr)
require(httpuv)
require(jsonlite)
# authorization
myapp = oauth_app("YELP", key=consumerKey, secret=consumerSecret)
sig=sign_oauth1.0(myapp, token=token,token_secret=token_secret)
limit <- 10
# 10 bars in Chicago
yelpurl <- paste0("http://api.yelp.com/v2/search/?limit=",limit,"&location=Chicago%20IL&term=bar")
# or 10 bars by geo-coordinates
yelpurl <- paste0("http://api.yelp.com/v2/search/?limit=",limit,"&ll=37.788022,-122.399797&term=bar")
locationdata=GET(yelpurl, sig)
locationdataContent = content(locationdata)
locationdataList=jsonlite::fromJSON(toJSON(locationdataContent))
head(data.frame(locationdataList))
尝试使用 R 和库 ROAuth 连接到 yelp API。
很棒的 python 使用 rauth 模块和地理坐标的示例:
https://gist.github.com/phillipjohnson/8889618
并想完全做到这一点,但在 R 中并使用像 ROAuth 这样的库。
我一直在尝试创建握手等:
credentials <- OAuthFactory$new(consumerKey=consumerKey,
consumerSecret=consumerSecret,
oauthKey = token,
oauthSecret = token_secret,
authURL="http://api.yelp.com/v2")
credentials$handshake()
credentials$OAuthRequest(testURL, "GET")
但没有通过握手。 Yelp 使用 ROAuth 包支持的 OAuth 1.0。从我看到的其他代码中,它需要 'oauth_consumer_key'、'oauth_nonce'、'oauth_signature_method'、'oauth_timestamp'、'oauth_token'。对于使用 R 使用地理坐标查询 Yelp 的人的任何提示,我将不胜感激。谢谢!
在 ROAuth 的作者推荐使用 library(httr) 之后,由于在 R 中缺少使用任一库的简单 yelp 示例,我想其他人可能也在寻找这个。这将 return 按名称在芝加哥地区的 10 个酒吧,或按地理坐标在旧金山的 10 个酒吧。将 x 替换为您自己的 yelp 帐户密钥。 (这是从许多来源拼凑而成的——感谢所有这些来源)。
# yelp
consumerKey = "xxxx"
consumerSecret = "xxxx"
token = "xxxx"
token_secret = "xxxx"
require(httr)
require(httpuv)
require(jsonlite)
# authorization
myapp = oauth_app("YELP", key=consumerKey, secret=consumerSecret)
sig=sign_oauth1.0(myapp, token=token,token_secret=token_secret)
limit <- 10
# 10 bars in Chicago
yelpurl <- paste0("http://api.yelp.com/v2/search/?limit=",limit,"&location=Chicago%20IL&term=bar")
# or 10 bars by geo-coordinates
yelpurl <- paste0("http://api.yelp.com/v2/search/?limit=",limit,"&ll=37.788022,-122.399797&term=bar")
locationdata=GET(yelpurl, sig)
locationdataContent = content(locationdata)
locationdataList=jsonlite::fromJSON(toJSON(locationdataContent))
head(data.frame(locationdataList))