1

iOS アプリケーションで問題が発生しました。

60 の Google プレイスすべてを取得する必要があります。リクエストを送信して結果を解析するためのループを作成しました。このループでは、次のような URL を作成しました。

if (nextPageToken != nil && ![nextPageToken isEqualToString:@""])
    pageToken = [NSString stringWithFormat:@"&pagetoken=%@", nextPageToken];

NSString *webStringURL = [[NSString stringWithFormat:@"%@?sensor=true&key=%@&location=%@&radius=%@%@", urlString, apiKey, location, radius, pageToken] stringByAddingPercentEscapesUsingEncoding:NSUTF32StringEncoding];

最初の 20 個のオブジェクトの結果リンク:

https://maps.googleapis.com/maps/api/place/search/json?sensor=true&key=YOUR_KEY4&location=50.907654,34.823147&radius=50000&language=ru

問題なく結果を返します。それで大丈夫です。

次の 20 個のオブジェクトの結果リンクは次のようになります。

https://maps.googleapis.com/maps/api/place/search/json?sensor=true&key=YOUR_KEY&location=50.907654,34.823147&radius=50000&pagetoken=ClREAAAA0zIx19jIHXfj0d4vjuIzshv9FTRi9l-ULIAovq5B9Ls0W_vzQFtL6rHVLfoJW4ICpIJlIG3QNRdfayfWp-4L1EjxDklb_kLBquJWX4_jSkgSEMKa1VgBGNQD3jCzW12OrOwaFExWU5GvZXgmKilw8ecaNzMhrucW

ただし、この場合、アプリケーションはステータス「INVALID_REQUEST」を受け取ります。このリンクをブラウザで開くと、すべて問題ありません。Google から結果が返されます。

何が問題なのか教えていただけますか?私は多くの時間を費やしましたが、何が間違っていたのかわかりませんでした。

前もって感謝します。

PS下手な英語で申し訳ありません。

4

1 に答える 1

7

https://developers.google.com/places/documentation/search#PlaceSearchPaging

next_page_token が発行されてから有効になるまでには少し時間がかかります。利用可能になる前に次のページを要求すると、INVALID_REQUEST 応答が返されます。同じ next_page_token でリクエストを再試行すると、結果の次のページが返されます。

リクエスト間に 1 秒 (またはそれ以上) の遅延を追加してみてください。

于 2013-09-10T22:05:15.183 に答える