Urlfetchを使用してスプレッドシートにページデータを入力したいのですが、使用しようとしているURLが無効な引数としてエラーで返されます。問題は、URLで誤って解釈されている文字(引用符や括弧など)を使用していることだと思います。
以下のコマンドでURLをエンコードしようとしましたが、一部の文字をダブルエンコードしていると想定しているため、問題が発生しています。
var encodedURL = encodeURIComponent(pageURL)
使ってみてください
baseURL + encodeURIComponent(parameterString)
クエリするベースURLに渡すパラメータを、encodeURIComponent関数に渡される値として含める場合。この投稿はあなたに役立つかもしれません:
上記のように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);
ここで、pathAndFileName
は以前に定義された変数です。