-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathESP32cam.json
More file actions
16 lines (16 loc) · 2.37 KB
/
Copy pathESP32cam.json
File metadata and controls
16 lines (16 loc) · 2.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
"files": [
{
"id": "d7ee0a11-ded4-4f2e-88db-e3251e4dbf32",
"name": "appsscript",
"type": "json",
"source": "{\n \"timeZone\": \"Asia/Kolkata\",\n \"dependencies\": {},\n \"exceptionLogging\": \"STACKDRIVER\",\n \"runtimeVersion\": \"V8\",\n \"webapp\": {\n \"executeAs\": \"USER_DEPLOYING\",\n \"access\": \"ANYONE_ANONYMOUS\"\n }\n}"
},
{
"id": "56fa86ba-e638-467d-9e55-79b84a88d961",
"name": "Code",
"type": "server_js",
"source": "function doPost(e) {\n var myFoldername \u003d e.parameter.myFoldername;\n var myFile \u003d e.parameter.myFile;\n var myFilename \u003d e.parameter.myFilename;\n //var myFilename \u003d Utilities.formatDate(new Date(), \"GMT\", \"yyyyMMddHHmmss\")+\"-\"+e.parameter.myFilename;\n var myToken \u003d e.parameter.myToken;\n \n var contentType \u003d myFile.substring(myFile.indexOf(\":\")+1, myFile.indexOf(\";\"));\n var data \u003d myFile.substring(myFile.indexOf(\",\")+1);\n data \u003d Utilities.base64Decode(data);\n var blob \u003d Utilities.newBlob(data, contentType, myFilename);\n \n // Save a captured image to Google Drive.\n var folder, folders \u003d DriveApp.getFoldersByName(myFoldername);\n if (folders.hasNext()) {\n folder \u003d folders.next();\n } else {\n folder \u003d DriveApp.createFolder(myFoldername);\n }\n var file \u003d folder.createFile(blob); \n file.setDescription(\"Uploaded by \" + myFilename);\n \n var imageID \u003d file.getUrl().substring(file.getUrl().indexOf(\"/d/\")+3,file.getUrl().indexOf(\"view\")-1);\n var imageUrl \u003d \"https://drive.google.com/uc?authuser\u003d0\u0026id\u003d\"+imageID;\n \n // Send a link message to Line Notify.\n var res \u003d \"Line Notify: \";\n try {\n var url \u003d \u0027https://notify-api.line.me/api/notify\u0027;\n var response \u003d UrlFetchApp.fetch(url, {\n \u0027headers\u0027: {\n \u0027Authorization\u0027: \u0027Bearer \u0027 + myToken,\n },\n \u0027method\u0027: \u0027post\u0027,\n \u0027payload\u0027: {\n \u0027message\u0027: imageUrl\n }\n });\n res +\u003d response.getContentText();\n } catch(error) {\n res +\u003d error;\n } \n \n return ContentService.createTextOutput(myFoldername+\"/\"+myFilename+\"\\n\"+imageUrl+\"\\n\"+res);\n}"
}
]
}