Google应用脚本urlfetch编码网址

时间:2012-08-29 17:59:23

标签: google-apps-script urlfetch

我想使用urlfetch来填充包含页面数据的电子表格,但我尝试使用的URL会返回错误作为无效参数。我认为问题是我在URL中使用了被误解的字符(例如引号和括号)。

我尝试使用下面的命令对URL进行编码,但我假设我对某些字符进行了双重编码,这导致了问题。

var encodedURL = encodeURIComponent(pageURL)

2 个答案:

答案 0 :(得分:17)

尝试使用

baseURL + encodeURIComponent(parameterString)

如果包含要传递给基本URL的参数,则要查询的是传递给encodeURIComponent函数的值。这篇文章可能对您有用:

Encode URL in JavaScript?

如果您对整个网址进行编码,就像您在上面所做的那样,那么您编码的不仅仅是参数,我认为这些参数就是问题所在。

答案 1 :(得分:2)

您个人可能不需要答案,但是我为需要的人写信。 为了对GitLab进行成功的API调用(API v4),您只需要对“变量”进行编码。参见下文:

var url = baseUrl + projectId + "/repository/files/" + encodeURIComponent(pathAndFileName) + "?branch=" + encodeURIComponent(branch) + "&author_email=" + encodeURIComponent(authorEmail) + "&author_name=" + encodeURIComponent(authorName) + "&content=" + encodeURIComponent(content) + "&commit_message=" + encodeURIComponent(commitMessage);

pathAndFileName是前面定义的变量。