Не могу заставить работать POST? Что не так?
Примечание: это работает для GET с автозаполнением
GET работает без подписи URL
- Я следую инструкциям веб-служб, чтобы подписать URL-адрес моим "API-ключом"
Документы еще говорят "идентификатор клиента"?
http://code.google.com/apis/maps/documentation/webservices/
2. Попробуйте отправить данные POST с подписанным URL-адресом (также попробуйте подпись без знака)
def signedUrl = "https://maps.googleapis.com/maps/api/place/add/json?key=xxxxxkeyxxxxxx&sensor=false&signature=xxxxxxxxxxsignaturexxxxxx"
String postData = "{'location': { 'lat': '-33.8669710','lng': '151.1958750'},'accuracy': '50','name': 'Google Shoes!'}"
URL urlPost = new URL(signedUrl);
URLConnection connection = urlPost.openConnection();
connection.addRequestProperty("Referer", "http://www.mysite.com");
connection.setDoOutput(true);
connection.setRequestMethod("POST");
connection.setRequestProperty("CONTENT-TYPE", "text/json");
connection.setRequestProperty("CONTENT-LENGTH", postData.length() + "");
OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());
out.write(postData);
out.close();
String line;
StringBuilder builder = new StringBuilder();
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
while((line = reader.readLine()) != null) {
builder.append(line);
}
JSONObject json = new JSONObject(builder.toString());
println json
Возвращает 403
"java.io.IOException: сервер возвратил код ответа HTTP: 403 для URL:"
Симуляция для раздела "Java Access", под которым они приводят пример GET
http://code.google.com/apis/websearch/docs/#fonje