urlfetch を使用してスプレッドシートにページ データを入力したいのですが、使用しようとしている URL に無効な引数としてエラーが返されます。問題は、URL で誤解されている文字 (引用符や括弧など) を使用していることだと思います。
以下のコマンドで URL をエンコードしようとしましたが、一部の文字を二重にエンコードしており、それが問題を引き起こしていると想定しています。
var encodedURL = encodeURIComponent(pageURL)
urlfetch を使用してスプレッドシートにページ データを入力したいのですが、使用しようとしている URL に無効な引数としてエラーが返されます。問題は、URL で誤解されている文字 (引用符や括弧など) を使用していることだと思います。
以下のコマンドで URL をエンコードしようとしましたが、一部の文字を二重にエンコードしており、それが問題を引き起こしていると想定しています。
var encodedURL = encodeURIComponent(pageURL)
使ってみて
baseURL + encodeURIComponent(parameterString)
encodeURIComponent 関数に渡される値として照会しているベース URL に渡すパラメーターを含める場所。この投稿はあなたに役立つかもしれません:
上記のように URL 全体をエンコードする場合は、パラメータ以上のものをエンコードしているため、問題がどこにあると思われます。
個人的にはおそらく答えは必要ありませんが、必要な人のために書いています。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);
WherepathAndFileName
は、以前に定義された変数です。