Я пытался сделать это через jQuery/ajax, но это не сработало, поэтому я подумал, что вернусь к обычному XMLHttpRequest. К сожалению, он все еще не работает (такая же проблема).
Вот документы для запроса Google POST. И вот мой код:
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("POST", "https://www.googleapis.com/urlshortener/v1/url", true);
xmlHttp.setRequestHeader("Content-Type", "application/json");
var url = "longUrl=" + encodeURIComponent("http://www.google.com/");
console.log(url);
xmlHttp.send(url);
"url" отправляется в консоль как: longUrl=http%3A%2F%2Fwww.google.com%2F
Ответ:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "parseError",
"message": "Parse Error"
}
],
"code": 400,
"message": "Parse Error"
}
}
Кто-нибудь видит, что я делаю неправильно?
Заранее спасибо!
Изменить: добавлено для @Greg, чтобы вы могли видеть, что я соблюдаю спецификацию Google, когда использую jQuery, что приводит к ТОЧНОЙ ТОЧНОЙ ошибке.
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
data: { "longUrl": "http://www.google.com/" },
url: "https://www.googleapis.com/urlshortener/v1/url",
success: function(data) {
//do something with the shortened url json data
//console.log(data);
}
});