-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCode.gs
More file actions
38 lines (31 loc) · 1002 Bytes
/
Code.gs
File metadata and controls
38 lines (31 loc) · 1002 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
function doPost(e) {
var data = JSON.parse(e.postData.contents);
var range = sheet.getRange(1, 1, sheet.getLastRow(), 2);
var values = range.getValues();
var updated = false;
for (var i = 0; i < values.length; i++) {
if (values[i][0] === data.short_url) {
values[i][1] = data.long_url;
updated = true;
break;
}
}
if (!updated) {
sheet.appendRow([data.short_url, data.long_url]);
} else {
range.setValues(values);
}
return ContentService.createTextOutput("Success");
}
function doGet(e) {
var short_url = e.parameter.short_url;
var range = sheet.getRange(1, 1, sheet.getLastRow(), 2);
var values = range.getValues();
for (var i = 0; i < values.length; i++) {
if (values[i][0] === short_url) {
return ContentService.createTextOutput(values[i][1]);
}
}
return ContentService.createTextOutput("URL not found");
}