Google Places APIを使用している場所のリストがあります。場所によっては20以上の結果があります。そのような場所の例を以下に示します。最初の20日を超えて結果を得るには、最初のGoogle Places API呼び出しから取得した追加の「トークン」パラメータを使用して、GoogleプレイスへのAPI呼び出しを追加する必要があります。Sapply関数内で複数のGoogle Places API呼び出しがあります
以下の欠陥のある関数を使用して、取得する必要がある追加の結果があるかどうかに基づいて、追加のAPI呼び出しを実行しようとしています。現在の関数はNULL値を生成します。この機能の修正に関する助言は高く評価されます。 Sapplyに供給するために
一覧:
LatLongList <- as.list("42.36354942,-71.06396087")
Sapply機能:
library(RCurl)
library(tidyjson)
library(magrittr)
library(dplyr)
PullFromPlaces <- function(x) {
url = paste0("https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=",x,"&radius=",radius_meters,"&types=",type,"&key=",key)
payload_json <- getURL(url)
next_page_token <- payload_json %>%
as.tbl_json %>%
enter_object("next_page_token")
next_page_token <- as.character(attr(next_page_token,"JSON"))
if (length(next_page_token) != 0) {
url = paste0("https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=",x,"&radius=",radius_meters,"&types=",type,"&pagetoken=",next_page_token,"&key=",key)
payload_json <- getURL(url)
}
}
Sapply実行:
Output <- sapply(LatLongList, PullFromPlaces)
ありがとうございましたSymbolixAU。これは良い最初のステップですが、40-60の結果の3番目のAPIプルと一緒に、1番目と2番目のAPIプルを組み合わせる方法についての提案があるのでしょうか?私はすべてを一度に引き出すことができるようにしたいと思います。 – Bdude11383
@ Bdude11383 - 私はそれをまだ完全にはテストしていませんが、 'page_token'がなくなるまで繰り返し実行される何らかのループは有効ですか? – SymbolixAU