teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

再々修正

2018/01/19 10:45

投稿

jinshan
jinshan

スコア107

answer CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  PHPのローカル環境がないので、疑似的に下記のようなURLを作成し実験してみました。どうやらパラメータのバイト数に上限があるようです。2104バイトまでは実行できました(Webの成功レスポンス画面表示は2097バイトまで)。ただ1バイト文字だけならもっと文字数が多くても成功画面が返ってきたりしますので、上限はよくわかりません。逆に2バイト文字がパラメータ内に多目だと上限が減ってしまうと思います。
4
4
 
5
- https://script.google.com/a/ドメイン.com/macros/s/レッドシートのID/exec?name0=あ0あ&name1=い1い&name2=う2う&name3=え3え&name4=お4お&name5=か5か&name6=き6き&name7=く7く&name8=け8け&name9=こ9こ&name10=さ10さ………&name275=も275も&name276=や276や
5
+ https://script.google.com/a/ドメイン.com/macros/s/公開webアリ固有ID/exec?name0=あ0あ&name1=い1い&name2=う2う&name3=え3え&name4=お4お&name5=か5か&name6=き6き&name7=く7く&name8=け8け&name9=こ9こ&name10=さ10さ………&name275=も275も&name276=や276や
6
6
 
7
7
  実験に使用したコードは下記の通りです。
8
8
  ```

3

再編集

2018/01/19 10:45

投稿

jinshan
jinshan

スコア107

answer CHANGED
@@ -1,4 +1,4 @@
1
- 「範囲の座標、またはサイズが無効です」のエラーは、”この箇所①”で作成されるパラメータがname10~name29の20件にも関わらず、aryの貼り付け範囲の行数ary.lengthが0~29までの30行となり、2次元配列の大きさが一致していないため出ているか、e.parametarを受け取るforループの開始値を0のままにしていて、いきなりname0===undefinedでループを抜けてしまうため、1件もデータを受け取らない=2次元配列の大きさが一致していない、というものと推測します。仮にforループの開始値を10にしても2次元配列は0~29(0~9はnull)の為、aryの貼り付け範囲の行数をary.lengthにせず、データの入っている数を指定してやる必要があります。
1
+ 「範囲の座標、またはサイズが無効です」のエラーは、”この箇所①”で作成されるパラメータがname10~name29の20件にも関わらず、”この箇所②”のaryの貼り付け範囲の行数ary.lengthが0~29までの30行となり、2次元配列の大きさが一致していないため出ているか、e.parametarを受け取るforループの開始値を0のままにしていて、いきなりname0===undefinedでループを抜けてしまうため、1件もデータを受け取らない=2次元配列の大きさが一致していない、というものと推測します。仮にforループの開始値を10にしても2次元配列は0~29(0~9はnull)の為、aryの貼り付け範囲の行数をary.lengthにせず、データの入っている数を指定してやる必要があります。
2
2
 
3
3
  PHPのローカル環境がないので、疑似的に下記のようなURLを作成し実験してみました。どうやらパラメータのバイト数に上限があるようです。2104バイトまでは実行できました(Webの成功レスポンス画面表示は2097バイトまで)。ただ1バイト文字だけならもっと文字数が多くても成功画面が返ってきたりしますので、上限はよくわかりません。逆に2バイト文字がパラメータ内に多目だと上限が減ってしまうと思います。
4
4
 

2

編集

2018/01/19 09:13

投稿

jinshan
jinshan

スコア107

answer CHANGED
@@ -3,6 +3,7 @@
3
3
  PHPのローカル環境がないので、疑似的に下記のようなURLを作成し実験してみました。どうやらパラメータのバイト数に上限があるようです。2104バイトまでは実行できました(Webの成功レスポンス画面表示は2097バイトまで)。ただ1バイト文字だけならもっと文字数が多くても成功画面が返ってきたりしますので、上限はよくわかりません。逆に2バイト文字がパラメータ内に多目だと上限が減ってしまうと思います。
4
4
 
5
5
  https://script.google.com/a/ドメイン.com/macros/s/スプレッドシートのID/exec?name0=あ0あ&name1=い1い&name2=う2う&name3=え3え&name4=お4お&name5=か5か&name6=き6き&name7=く7く&name8=け8け&name9=こ9こ&name10=さ10さ………&name275=も275も&name276=や276や
6
+
6
7
  実験に使用したコードは下記の通りです。
7
8
  ```
8
9
  function doGet(e){

1

追記

2018/01/19 09:11

投稿

jinshan
jinshan

スコア107

answer CHANGED
@@ -68,5 +68,22 @@
68
68
  return len;
69
69
  }
70
70
  ```
71
+ **ok.html**
72
+ ```
73
+ <!DOCTYPE html>
74
+ <html>
75
+ <head>
76
+ <base target="_top">
77
+ </head>
78
+ <body>
79
+ <h1>スプレッドシートの書き込み成功</h1>
80
+ <?
81
+ var getNumData = getRowsAndBytes();
71
82
 
83
+ output.append('<li>件数' + getNumData[0] + '</li>');
84
+ output.append('<li>バイト数' + getNumData[1] + '</li>');
72
- (次の回答に続く)
85
+ ?>
86
+ </body>
87
+ </html>
88
+
89
+ ```