传递短URL时UrlFetchApp出现错误

时间:2018-10-12 06:07:12

标签: google-apps-script http-status-code-302 firebase-dynamic-links urlfetch google-url-shortener

在使用UrlFetchApp.fetch调用get请求时遇到异常。

  

异常:https://shorturl.com的请求失败(myshorturl)   返回代码302

当longurl长度为5606长度时,我没有收到错误消息。 当longurl长度超过5609长度时,我会收到错误消息。

 var url = shortenUrl(longurl);
 Logger.log("URL:" + url);
 var response = UrlFetchApp.fetch(url, {
     "method": "get",followRedirects: true
 });
 Logger.log("Response" + response.getContentText())


function shortenUrl(longURL) {

var url = "https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=mykey";

var payload = {
    "dynamicLinkInfo": {
        "dynamicLinkDomain": "mypage.page.link",
        "link": longURL,
        "iosInfo": {
            "iosBundleId": "mybundleId"
        }
    }
};

var parameters = {
    method: 'post',
    payload: JSON.stringify(payload),
    contentType: 'application/json',
    muteHttpExceptions: true
};
var response = UrlFetchApp.fetch(url, parameters);
var myArr = JSON.parse(response);
var shortLink = myArr['shortLink'];
return shortLink;
}

1 个答案:

答案 0 :(得分:0)

shortUrl将重定向到另一个URL。 ?- firstlast([1,2,3,1]). Yes ?- firstlast([1,2,3]). No 状态码通知客户端存在重定向,并提供重定向URL。尝试另外设置以下参数:

302 Found

编辑:
根据新信息,longUrl长度超过5000个字符,请注意followRedirects: true, muteHttpExceptions: true 调用对URL长度有严格限制,当前URL长度为2kB / call。如果我们假设每个url字符1个字节,则广告可接受的最大url长度约为2048个字符。

参考文献: