Google Apps Script 내부에서 goo.gl API를 쿼리하려고합니다. 내가 UrlFetchApp.fetch(post_url, options);
에서 실제 요청을 할 때google apps 스크립트의 goo.gl API 사용 중 문제
Request failed for https://www.googleapis.com/urlshortener/v1/url?key=AIXXXXXXXXXXXXXXXXXXXXXLmGJQw returned code 400. Server response: { "error": { "errors": [ { "domain": "global", "reason": "parseError", "message": "This API does not support parsing form-encoded input." } ], "code": 400, "message": "This API does not support parsing form-encoded input." } } (line 28)
메시지가 온다 : 제가 보는 문제는 다음과 같은 오류 메시지입니다.
다음은 Google Apps Script에서 사용중인 실제 코딩입니다.
function minifyGoogl(longUrl) {
var post_url = 'https://www.googleapis.com/urlshortener/v1/url';
var apiKey = UserProperties.getProperty('googl_api_key');
if(!apiKey){
var apiKey = ScriptProperties.getProperty('googl_api_key');
}
if(apiKey){
post_url += '?key=' + apiKey;
}
var payload = Utilities.jsonStringify({'longUrl': longUrl });
var options = {
'method' : 'post',
'headers' : {
'Content-Type' : 'application/json'
},
'payload' : payload
};
try{
var response = UrlFetchApp.fetch(post_url, options);
}catch(e){
if(e.message){
throw e.message;
}
}
var responseJson = response.getAs('json');
}
function testMinifyGoogl(){
minifyGoogl('http://eduardo.cereto.net');
}
감사합니다. 정확하게 필요한 것입니다. 그 contentType 매개 변수를 보지 못했습니다. HTTP 헤더 매개 변수를 사용하여 직접 설정하려고했습니다. – Eduardo
그게 나를 위해 고정. 내가 사용하고 있던 lib는 수동으로 JSON.stringify 내 요청 본문 싶었어요. 이것은 올바른 방향으로 나를 가리켰다. 감사! – frosty