回答編集履歴

6

再度変更

2018/10/15 01:02

投稿

papinianus
papinianus

スコア12705

test CHANGED
@@ -70,7 +70,7 @@
70
70
 
71
71
  var row = -1;
72
72
 
73
- for(var i = 0; i < vals.length; i++) {
73
+ for(var i = 1; i < vals.length; i++) {
74
74
 
75
75
  if(Utilities.formatDate(vals[i][0], "JST", "yyyy/MM/dd HH:mm:ss") == timestamp) {
76
76
 

5

ようやく

2018/10/15 01:02

投稿

papinianus
papinianus

スコア12705

test CHANGED
@@ -12,9 +12,9 @@
12
12
 
13
13
  ```javascript
14
14
 
15
- html += '<a href="https://*****/exec?p=ok&t='+(timeStamp - 0)+'">承認</a><br>';
15
+ html += '<a href="https://*****/exec?p=ok&t='+timeStamp+'">承認</a><br>';
16
16
 
17
- html += '<a href="https://*****/exec?p=ng&t='+(timeStamp - 0)+'">否認</a><br>';
17
+ html += '<a href="https://*****/exec?p=ng&t='+timeStamp+'">否認</a><br>';
18
18
 
19
19
  ```
20
20
 
@@ -72,7 +72,7 @@
72
72
 
73
73
  for(var i = 0; i < vals.length; i++) {
74
74
 
75
- if((vals[i][0] - 0) == timestamp) {
75
+ if(Utilities.formatDate(vals[i][0], "JST", "yyyy/MM/dd HH:mm:ss") == timestamp) {
76
76
 
77
77
  row = i + 1;
78
78
 
@@ -87,6 +87,8 @@
87
87
  }
88
88
 
89
89
  }
90
+
91
+
90
92
 
91
93
  ```
92
94
 

4

改訂

2018/10/03 09:19

投稿

papinianus
papinianus

スコア12705

test CHANGED
@@ -12,9 +12,9 @@
12
12
 
13
13
  ```javascript
14
14
 
15
- html += '<a href="https://*****/exec?p=ok&t='+timeStamp+'">承認</a><br>';
15
+ html += '<a href="https://*****/exec?p=ok&t='+(timeStamp - 0)+'">承認</a><br>';
16
16
 
17
- html += '<a href="https://*****/exec?p=ng&t='+timeStamp+'">否認</a><br>';
17
+ html += '<a href="https://*****/exec?p=ng&t='+(timeStamp - 0)+'">否認</a><br>';
18
18
 
19
19
  ```
20
20
 
@@ -36,7 +36,7 @@
36
36
 
37
37
  if(page == "ok" && timeStamp){
38
38
 
39
- setter(timestamp, "○");
39
+ setter(timeStamp, "○");
40
40
 
41
41
  return HtmlService.createHtmlOutputFromFile('ok');
42
42
 
@@ -44,7 +44,7 @@
44
44
 
45
45
  else if(page == "ng" && timeStamp){
46
46
 
47
- setter(timestamp, "×");
47
+ setter(timeStamp, "×");
48
48
 
49
49
  return HtmlService.createHtmlOutputFromFile('ng');
50
50
 
@@ -72,7 +72,7 @@
72
72
 
73
73
  for(var i = 0; i < vals.length; i++) {
74
74
 
75
- if(vals[i][0] == timestamp) {
75
+ if((vals[i][0] - 0) == timestamp) {
76
76
 
77
77
  row = i + 1;
78
78
 
@@ -82,7 +82,7 @@
82
82
 
83
83
  if(row != -1) {
84
84
 
85
- sh.getRange(row, 10, 1, 1).setValue(str);
85
+ sh.getRange(row, 14, 1, 1).setValue(str);
86
86
 
87
87
  }
88
88
 

3

バグ

2018/09/28 02:13

投稿

papinianus
papinianus

スコア12705

test CHANGED
@@ -36,7 +36,7 @@
36
36
 
37
37
  if(page == "ok" && timeStamp){
38
38
 
39
- setter("○");
39
+ setter(timestamp, "○");
40
40
 
41
41
  return HtmlService.createHtmlOutputFromFile('ok');
42
42
 
@@ -44,7 +44,7 @@
44
44
 
45
45
  else if(page == "ng" && timeStamp){
46
46
 
47
- setter("×");
47
+ setter(timestamp, "×");
48
48
 
49
49
  return HtmlService.createHtmlOutputFromFile('ng');
50
50
 

2

確認方法

2018/09/21 08:39

投稿

papinianus
papinianus

スコア12705

test CHANGED
@@ -91,3 +91,23 @@
91
91
  ```
92
92
 
93
93
  とやると、書き込みができるのではないかと思います。
94
+
95
+
96
+
97
+ --- 追記
98
+
99
+ 下記のテスト関数を追加して、関数を実行からテストして書き込まれるか見ていただけますか?
100
+
101
+ ```javascript
102
+
103
+ function test() {
104
+
105
+ var timestamp = "シートにあるタイムスタンプ"; //固定値
106
+
107
+ var str = "○";
108
+
109
+ setter(timestamp, str);
110
+
111
+ }
112
+
113
+ ```

1

追記

2018/09/21 08:38

投稿

papinianus
papinianus

スコア12705

test CHANGED
@@ -3,3 +3,91 @@
3
3
 
4
4
 
5
5
  ソースコードですが、書き込むべきスプレッドシートはどうやって特定するのか(スプレッドシートのidなのか、driveのフォルダidとスプレッドシートの名前の組み合わせなのか)や、そのスプレッドシートの何というシートのどこのセルに、何と何を書き込むのかを具体的に仕様として示していただかない限り、有意な回答は得られないと思います。
6
+
7
+
8
+
9
+ -- 追記
10
+
11
+ 今のままではタイムスタンプが送信されないので
12
+
13
+ ```javascript
14
+
15
+ html += '<a href="https://*****/exec?p=ok&t='+timeStamp+'">承認</a><br>';
16
+
17
+ html += '<a href="https://*****/exec?p=ng&t='+timeStamp+'">否認</a><br>';
18
+
19
+ ```
20
+
21
+ のようにしてください。するとクリック時にタイムスタンプが送信できます。
22
+
23
+
24
+
25
+ その状態で
26
+
27
+ ```javascript
28
+
29
+ function doGet(e){
30
+
31
+ var page=e.parameter["p"];
32
+
33
+ var timeStamp=e.parameter["t"];
34
+
35
+
36
+
37
+ if(page == "ok" && timeStamp){
38
+
39
+ setter("○");
40
+
41
+ return HtmlService.createHtmlOutputFromFile('ok');
42
+
43
+ }
44
+
45
+ else if(page == "ng" && timeStamp){
46
+
47
+ setter("×");
48
+
49
+ return HtmlService.createHtmlOutputFromFile('ng');
50
+
51
+ }
52
+
53
+
54
+
55
+ else{
56
+
57
+ return HtmlService.createHtmlOutputFromFile('Error');
58
+
59
+ }
60
+
61
+
62
+
63
+ }
64
+
65
+ function setter(timestamp, str) {
66
+
67
+ var sh = SpreadsheetApp.openById("").getSheetByName("フォームの回答");
68
+
69
+ var vals = sh.getDataRange().getValues();
70
+
71
+ var row = -1;
72
+
73
+ for(var i = 0; i < vals.length; i++) {
74
+
75
+ if(vals[i][0] == timestamp) {
76
+
77
+ row = i + 1;
78
+
79
+ }
80
+
81
+ }
82
+
83
+ if(row != -1) {
84
+
85
+ sh.getRange(row, 10, 1, 1).setValue(str);
86
+
87
+ }
88
+
89
+ }
90
+
91
+ ```
92
+
93
+ とやると、書き込みができるのではないかと思います。