-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaddApplicantToClassroom.js
82 lines (72 loc) · 2.27 KB
/
addApplicantToClassroom.js
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
function getUserData(userID){
var appId = 'APPID';
var tableName = 'Users';
var apiKey = 'APIKEY';
var url = `https://api.appsheet.com/api/v2/apps/${appId}/tables/${tableName}/Action`;
var payload = {
"Action": "Find",
"Properties": {
"Selector": `FILTER(Users, ([Row ID] = "${userID}"))`,
"Locale": "en-US",
"Location": "47.623098, -122.330184",
"Timezone": "Pacific Standard Time"
},
"Rows": []
};
var options = {
"method": "get",
"headers": {
"applicationAccessKey": apiKey,
"Content-Type": "application/json"
},
"payload": JSON.stringify(payload),
"muteHttpExceptions": true
};
var response = UrlFetchApp.fetch(url, options);
var responseContent = response.getContentText();
var parsedContent = JSON.parse(responseContent);
return parsedContent;
}
function getClassroomID(jobID){
var appId = 'APPID';
var tableName = 'Job_listings';
var apiKey = 'APIKEY';
var url = `https://api.appsheet.com/api/v2/apps/${appId}/tables/${tableName}/Action`;
var payload = {
"Action": "Find",
"Properties": {
"Selector": `FILTER(Job_Listings, ([Row ID] = "${jobID}"))`,
"Locale": "en-US",
"Location": "47.623098, -122.330184",
"Timezone": "Pacific Standard Time"
},
"Rows": []
};
var options = {
"method": "get",
"headers": {
"applicationAccessKey": apiKey,
"Content-Type": "application/json"
},
"payload": JSON.stringify(payload),
"muteHttpExceptions": true
};
var response = UrlFetchApp.fetch(url, options);
var responseContent = response.getContentText();
var parsedContent = JSON.parse(responseContent);
return parsedContent[0]["Google Classroom ID"];
}
function addStudentToClassroom(courseID, studentEmail) {
const invitation = Classroom.newInvitation();
invitation.courseId = courseID;
invitation.role = 'STUDENT';
//Currently static for testing purposes
invitation.userId=studentEmail;
//invitation.userId = "peterpan123344@gmail.com";
Classroom.Invitations.create(invitation);
}
function main(jobID,userID){
userData = getUserData(userID);
courseID = getClassroomID(jobID);
addStudentToClassroom(courseID,userData[0]["E-mail"]);
}