質問編集履歴

1

追記

2024/10/03 07:21

投稿

BreadMan
BreadMan

スコア2

test CHANGED
File without changes
test CHANGED
@@ -82,3 +82,71 @@
82
82
 
83
83
  ### 補足
84
84
  特になし
85
+
86
+
87
+ ###追記
88
+ コメントを参考に、
89
+ Session.getActiveUser().getEmail()を使いアドレスを取得するWebアプリと
90
+ その取得アドレスを受け取って必要なものを返すWebアプリとに分割しました。
91
+ その上で新たな問題が発生したので追記します。
92
+ 本来の質問とかけ離れているようでしたら新たに質問を投稿します。
93
+
94
+ ### 追記のソースコード
95
+
96
+ ```javascript
97
+
98
+ //入口.gs
99
+ function doGet(e) {
100
+
101
+ const uri="本体.gsのウェブアプリ"
102
+
103
+ const option={
104
+ "method":"post",
105
+ "payload":JSON.stringify({'email':Session.getActiveUser().getEmail()}),
106
+ "contentType":"application/json"
107
+ }
108
+
109
+ const response= UrlFetchApp.fetch(uri,option)
110
+
111
+ //ここでリターンするものがうまくいかない。
112
+ //HtmlService.createHtmlOutput(response.getContentText())だと真っ白になる
113
+
114
+ //とりあえず
115
+ //ContentService.createTextOutput(response.getContentText()).setMimeType(ContentService.MimeType.HTML);
116
+ //で中身だけ表示している
117
+
118
+ return ContentService.createTextOutput(response.getContentText()).setMimeType(ContentService.MimeType.HTML);
119
+
120
+
121
+ }
122
+
123
+ ```
124
+
125
+ ### 追記のソースコード2
126
+
127
+ ```javascript
128
+
129
+ //本体.gs
130
+ function doPost(e) {
131
+
132
+
133
+ const testAddress="(特定アドレス)"
134
+
135
+ const data = JSON.parse(e.postData.contents);
136
+ const email = data.email;
137
+
138
+ let html=HtmlService.createTemplateFromFile("Error")
139
+
140
+ if(email===testAddress){
141
+ let testSheet=SpreadsheetApp.openById("開発者アドレス(testAddressではない)でしかアクセスできないSpreadSheetのID")
142
+ let testName=testSheet.getName()
143
+ html=HtmlService.createTemplateFromFile("TEST")
144
+ html.accesstest=testName
145
+ }
146
+ //email===testAddressのとき
147
+ //testSheetの名前にアクセスできているので本来の目的は達成と判断
148
+
149
+ return html.evaluate();
150
+
151
+ }
152
+