回答編集履歴
6
answer
CHANGED
@@ -23,4 +23,6 @@
|
|
23
23
|
if (results[0] && results[0].label !=zenkai) {
|
24
24
|
- await axios.post('https://nodered-自分のID.herokuapp.com/receiver', results[0]);
|
25
25
|
+ await axios.post('https://nodered-自分のID.herokuapp.com/receiver', results[0].label);
|
26
|
-
```
|
26
|
+
```
|
27
|
+
|
28
|
+
NODE-Red歴1時間くらいなので的外れな回答であればすみません。
|
5
answer
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
|
13
13
|
単一の値や一次元配列を渡した場合であっても、GSHEETノード側で自動的に2次元配列に変換してくれます([ソース](https://github.com/sammachin/node-red-contrib-google-sheets/blob/master/gsheet.js#L87-L96))
|
14
14
|
しかし、今回はオブジェクトを渡しているため、オブジェクトを要素とする2次元配列に変換され、それがそのままGoogle spreadsheet APIに渡されてエラーになっているのではないかと思います。
|
15
|
-
(GSHEETノードのライブラリは、渡された
|
15
|
+
(GSHEETノードのライブラリは、渡されたpayloadが単一値か、1次元配列、2次元配列のいずれかであるかまでは判定して次元を自動変換するが、その中身(要素)の型までは判定しない)
|
16
16
|
|
17
17
|
・対応案
|
18
18
|
codePenのjavascript下記の行を下記のように直した場合どうでしょうか。
|
4
answer
CHANGED
@@ -10,8 +10,9 @@
|
|
10
10
|
|
11
11
|
GSHEETノードの先にあるGoogle spreadsheet APIのupdate関数のvaluesには、文字列・ブール値・数値いずれかを要素とする2次元配列([[~]]を渡さなければなりません。
|
12
12
|
|
13
|
-
|
13
|
+
単一の値や一次元配列を渡した場合であっても、GSHEETノード側で自動的に2次元配列に変換してくれます([ソース](https://github.com/sammachin/node-red-contrib-google-sheets/blob/master/gsheet.js#L87-L96))
|
14
14
|
しかし、今回はオブジェクトを渡しているため、オブジェクトを要素とする2次元配列に変換され、それがそのままGoogle spreadsheet APIに渡されてエラーになっているのではないかと思います。
|
15
|
+
(GSHEETノードのライブラリは、渡されたpeyloadが単一値か、1次元配列、2次元配列のいずれかであるかまでは判定して次元を自動変換するが、その中身(要素)の型までは判定しない)
|
15
16
|
|
16
17
|
・対応案
|
17
18
|
codePenのjavascript下記の行を下記のように直した場合どうでしょうか。
|
3
answer
CHANGED
@@ -8,10 +8,10 @@
|
|
8
8
|
```
|
9
9
|
というオブジェクトが渡されているためと推測します。
|
10
10
|
|
11
|
-
GSHEETノードの先にあるGoogle spreadsheet APIのupdate関数のvaluesには、2次元
|
11
|
+
GSHEETノードの先にあるGoogle spreadsheet APIのupdate関数のvaluesには、文字列・ブール値・数値いずれかを要素とする2次元配列([[~]]を渡さなければなりません。
|
12
12
|
|
13
|
-
ただし、単一の値を渡した場合
|
13
|
+
ただし、単一の値や一次元配列を渡した場合、GSHEETノード側で自動的に2次元配列に変換してくれます([ソース](https://github.com/sammachin/node-red-contrib-google-sheets/blob/master/gsheet.js#L87-L96))
|
14
|
-
しかし、今回はオブジェクトを渡しているため、2次元配列に変換され
|
14
|
+
しかし、今回はオブジェクトを渡しているため、オブジェクトを要素とする2次元配列に変換され、それがそのままGoogle spreadsheet APIに渡されてエラーになっているのではないかと思います。
|
15
15
|
|
16
16
|
・対応案
|
17
17
|
codePenのjavascript下記の行を下記のように直した場合どうでしょうか。
|
2
answer
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
GSHEETノードの先にあるGoogle spreadsheet APIのupdate関数のvaluesには、2次元の配列([[〇〇,〇〇,・・・]]が渡されなければなりません。
|
12
12
|
|
13
|
-
ただし、単一の値を渡した場合であってもGSHEETノード側で自動的に2次元配列に変換してくれます([ソース](https://github.com/sammachin/node-red-contrib-google-sheets/blob/master/gsheet.js#L87-L96)
|
13
|
+
ただし、単一の値を渡した場合であってもGSHEETノード側で自動的に2次元配列に変換してくれます([ソース](https://github.com/sammachin/node-red-contrib-google-sheets/blob/master/gsheet.js#L87-L96))
|
14
14
|
しかし、今回はオブジェクトを渡しているため、2次元配列に変換されずそのまま渡されてエラーになっているのではないかと思います。
|
15
15
|
|
16
16
|
・対応案
|
1
修正
answer
CHANGED
@@ -8,14 +8,14 @@
|
|
8
8
|
```
|
9
9
|
というオブジェクトが渡されているためと推測します。
|
10
10
|
|
11
|
-
GSHEETノード
|
11
|
+
GSHEETノードの先にあるGoogle spreadsheet APIのupdate関数のvaluesには、2次元の配列([[〇〇,〇〇,・・・]]が渡されなければなりません。
|
12
12
|
|
13
|
-
ただし、単一の値を渡した場合
|
13
|
+
ただし、単一の値を渡した場合であってもGSHEETノード側で自動的に2次元配列に変換してくれます([ソース](https://github.com/sammachin/node-red-contrib-google-sheets/blob/master/gsheet.js#L87-L96)。
|
14
|
-
しかし、今回はオブジェクトを渡しているため変換
|
14
|
+
しかし、今回はオブジェクトを渡しているため、2次元配列に変換されずそのまま渡されてエラーになっているのではないかと思います。
|
15
15
|
|
16
16
|
・対応案
|
17
17
|
codePenのjavascript下記の行を下記のように直した場合どうでしょうか。
|
18
|
-
(node側
|
18
|
+
(node側へ結果を渡す際、results[0]ではなく、results[0].labelを渡す)
|
19
19
|
|
20
20
|
```diff
|
21
21
|
// 結果のresultsは配列ですが、先頭に中身があれば以下の処理を実行します
|