diff --git a/index.js b/index.js
index a0feeec..202ee71 100644
--- a/index.js
+++ b/index.js
@@ -35,7 +35,7 @@ app.use(
app.get('/', function (req, res) {
res.sendFile(__dirname + '/views/index.html')
})
-app.get('/upload', function(req, res){
+app.get('/upload', function (req, res) {
res.sendFile(__dirname + '/views/upload.html')
})
app.post('/upload', function (req, res) {
@@ -74,14 +74,9 @@ app.post('/upload', function (req, res) {
console.log(error) && res.status(500).send("Error with uploading file to uploadUrl");
} else {
//PART 3: Set metadata!
- const options = {
- 'method': 'POST',
- 'url': `https://streetviewpublish.googleapis.com/v1/photo?key=${apiKey}`,
- 'headers': {
- 'Authorization': `Bearer ${key}`,
- 'Content-Type': 'application/json'
- },
- body: JSON.stringify({
+ let body;
+ if (req.body["lat"] && req.body["long"]) {
+ body = JSON.stringify({
"uploadReference": {
"uploadUrl": uploadUrl
},
@@ -93,13 +88,32 @@ app.post('/upload', function (req, res) {
"heading": 0
}
})
+ } else {
+ body = JSON.stringify({
+ "uploadReference": {
+ "uploadUrl": uploadUrl
+ },
+ })
+ }
+ const options = {
+ 'method': 'POST',
+ 'url': `https://streetviewpublish.googleapis.com/v1/photo?key=${apiKey}`,
+ 'headers': {
+ 'Authorization': `Bearer ${key}`,
+ 'Content-Type': 'application/json'
+ },
+ body: body
};
request(options, function (error, response) {
if (error) {
console.log(error) && res.status(500).send("Error with setting metadata of file");
} else {
- res.status(200).send(`Status: ${JSON.parse(response.body)["mapsPublishStatus"]}
Link: ${JSON.parse(response.body)["shareLink"]}
You may have to wait awhile after uploading for Google to process the image.
Upload another?`)
+ if (JSON.parse(response.body)["error"]) {
+ res.status(JSON.parse(response.body)["error"]["code"]).send(`Status: ${JSON.parse(response.body)["error"]["status"]}
Error message: ${JSON.parse(response.body)["error"]["message"]}
Try adding the latitude and longitude coordinates.
Upload another?`)
+ } else {
+ res.status(200).send(`Status: ${JSON.parse(response.body)["mapsPublishStatus"]}
Link: ${JSON.parse(response.body)["shareLink"]}
You may have to wait awhile after uploading for Google to process the image.
Upload another?`)
+ }
}
});
}
@@ -119,7 +133,10 @@ app.get('/auth', function (req, res) {
};
request(options, function (error, response) {
if (error) console.log(error) && res.send("Error: Check console");
- res.cookie('oauth', JSON.parse(response.body)["access_token"], {maxAge: 900000, httpOnly: true});
+ res.cookie('oauth', JSON.parse(response.body)["access_token"], {
+ maxAge: JSON.parse(response.body)["expires_in"] * 1000,
+ httpOnly: true
+ });
res.sendFile(__dirname + '/views/upload.html')
});