-
Notifications
You must be signed in to change notification settings - Fork 0
/
Code.gs
60 lines (54 loc) · 1.64 KB
/
Code.gs
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
function sendDataToTinybird() {
// Get Data from the Sheet
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
// Modify or replace these values as needed
var rows = sheet.getRange("A2:R15603").getValues(); // Modify this range as needed
var eventName = "google_sheets"; // change this to your specific event name
// Define the options common to all requests
var headers = {
Authorization: "Bearer YOUR_TINYBIRD_AUTH_TOKEN",
};
rows.forEach(function (row) {
// Create the payload for this row
var payload = JSON.stringify({
Age: row[0],
Gender: row[1],
ItemPurchased: row[2],
Category: row[3],
PurchaseAmountUSD: row[4],
Location: row[5],
Size: row[6],
Color: row[7],
Season: row[8],
ReviewRating: row[9],
SubscriptionStatus: row[10],
ShippingType: row[11],
DiscountApplied: row[12],
PromoCodeUsed: row[13],
PreviousPurchases: row[14],
PaymentMethod: row[15],
FrequencyOfPurchases: row[16],
});
// Define the options for this request
var options = {
method: "post",
contentType: "application/json",
headers: headers,
payload: payload,
muteHttpExceptions: true, // To get full response on error
};
// Make the request
var response = UrlFetchApp.fetch(
"https://api.tinybird.co/v0/events?name=" + eventName,
options
);
// Log the response
Logger.log(response.getContentText());
});
}
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu("Tinybird")
.addItem("Send Data to Tinybird", "sendDataToTinybird")
.addToUi();
}