回答編集履歴

3

コードの修正

2020/08/23 09:24

投稿

yoshi448
yoshi448

スコア17

test CHANGED
@@ -48,7 +48,7 @@
48
48
 
49
49
  if(this.id==0){
50
50
 
51
- this.combine[0]=this.tags
51
+ this.combine[0]=this.exist
52
52
 
53
53
  this.combine[1]=this.tags
54
54
 

2

コードの修正

2020/08/23 09:23

投稿

yoshi448
yoshi448

スコア17

test CHANGED
@@ -18,35 +18,51 @@
18
18
 
19
19
  function check_tag(tag){
20
20
 
21
- var url = "https://yourURL/wp-json/wp/v2/tags";
21
+ var url = "https://news.traicy.com/wp-json/wp/v2/tags";
22
22
 
23
23
  this.tags = UrlFetchApp.fetch(url);
24
24
 
25
- tags = JSON.parse(tags.getContentText());
26
-
27
- this.is_exist = false;
25
+ this.exist=false
28
26
 
29
27
  this.tag = tag
30
28
 
29
+ this.id = 0;
30
+
31
+ this.combine = [];
32
+
33
+ var tags = JSON.parse(this.tags.getContentText());
34
+
31
35
  tags.forEach(function(key){
32
36
 
33
- var tag_name = key["name"]
37
+ if(this.tag==key["name"]){
34
38
 
35
- if(tag_name==this.tag){
39
+ this.id = key["id"];
36
40
 
37
- this.is_exist=true;
41
+ this.exist = true;
38
42
 
39
- return this.is_exist,key["id"]
43
+ this.combine[0]=this.exist
40
44
 
41
- }else{
45
+ this.combine[1]=this.id
42
46
 
43
- return this.is_exist,this.tags
47
+ }else{
44
48
 
49
+ if(this.id==0){
50
+
51
+ this.combine[0]=this.tags
52
+
53
+ this.combine[1]=this.tags
54
+
45
- }
55
+ }
56
+
57
+
58
+
59
+ }
60
+
61
+
46
62
 
47
63
  })
48
64
 
49
-
65
+ return this.combine
50
66
 
51
67
  }
52
68
 

1

文章の改善

2020/08/23 06:57

投稿

yoshi448
yoshi448

スコア17

test CHANGED
@@ -2,9 +2,13 @@
2
2
 
3
3
  あまりgasを使わないのと突貫工事だったこともあり、かなりコードがきたないですがこんな感じです。
4
4
 
5
+ 文字列を付与するというよりもタグを全て取得して、タグが存在しているのならそのidを、ないなら新しく登録して登録したタグのidを使う感じにしました。
6
+
7
+ slackの3秒ルールに引っかかる場合は全てのタグをどこかに保存してそれを読み込むとかすればいいかもですね〜(今回は元から3秒超えてたので無視しました)
8
+
9
+
10
+
5
11
  正直thisとかよくわからないのであってるかどうか…笑
6
-
7
- スコープのあれこれなんですかね?
8
12
 
9
13
  まあとりあえずこれで動いたので自己解決しました!
10
14