fixed post apis
This commit is contained in:
parent
41ff6f3196
commit
b001e0215c
|
@ -4,5 +4,6 @@
|
||||||
"name": "bkkraindarbot",
|
"name": "bkkraindarbot",
|
||||||
"callback": "http://localhost:4000/callback",
|
"callback": "http://localhost:4000/callback",
|
||||||
"permission": "write:notes,write:following,write:drive"
|
"permission": "write:notes,write:following,write:drive"
|
||||||
}
|
},
|
||||||
|
"timezone": "Asia/Bangkok"
|
||||||
}
|
}
|
|
@ -4,5 +4,6 @@
|
||||||
"name": "<app name>",
|
"name": "<app name>",
|
||||||
"callback": "http://localhost:4000/callback",
|
"callback": "http://localhost:4000/callback",
|
||||||
"permission": "write:notes,write:following,write:drive"
|
"permission": "write:notes,write:following,write:drive"
|
||||||
}
|
},
|
||||||
|
"timezone": "Asia/Bangkok"
|
||||||
}
|
}
|
|
@ -1,31 +1,52 @@
|
||||||
const axios = require('axios');
|
const axios = require('axios');
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
|
|
||||||
async function create_image(host, access_token, file_path) {
|
async function create_image(host, access_token, file_name, file_path) {
|
||||||
const create = axios.post(`${host}/api/drive/files/create`, {
|
try {
|
||||||
file: fs.createReadStream(file_path)
|
const create = await axios.post(`${host}/api/drive/files/create`, {
|
||||||
}, {
|
name: file_name,
|
||||||
headers: {
|
file: fs.createReadStream(file_path)
|
||||||
'Content-Type': 'multipart/form-data',
|
}, {
|
||||||
'Authorization': `Bearer ${access_token}`
|
headers: {
|
||||||
}
|
'Content-Type': 'multipart/form-data',
|
||||||
});
|
'Authorization': `Bearer ${access_token}`
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
return create;
|
return create.data;
|
||||||
};
|
} catch (error) {
|
||||||
|
if (error.response) {
|
||||||
|
return error.response.data;
|
||||||
|
} else if (error.request) {
|
||||||
|
return error.request;
|
||||||
|
} else {
|
||||||
|
return error.message;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
async function create_note(host, access_token, text, media_ids, visibility) {
|
async function create_note(host, access_token, text, media_ids, visibility) {
|
||||||
const create = axios.post(`${host}/api/notes/create`, {
|
try {
|
||||||
text: text,
|
const create = await axios.post(`${host}/api/notes/create`, {
|
||||||
mediaIds: media_ids,
|
text: text,
|
||||||
visibility: visibility
|
mediaIds: media_ids,
|
||||||
}, {
|
visibility: visibility
|
||||||
headers: {
|
}, {
|
||||||
'Authorization': `Bearer ${access_token}`
|
headers: {
|
||||||
}
|
'Authorization': `Bearer ${access_token}`
|
||||||
});
|
}
|
||||||
|
});
|
||||||
|
|
||||||
return create;
|
return create.data;
|
||||||
|
} catch (error) {
|
||||||
|
if (error.response) {
|
||||||
|
return error.response.data;
|
||||||
|
} else if (error.request) {
|
||||||
|
return error.request;
|
||||||
|
} else {
|
||||||
|
return error.message;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports.create_image = create_image;
|
module.exports.create_image = create_image;
|
||||||
|
|
22
src/index.js
22
src/index.js
|
@ -24,6 +24,7 @@ const credentials = JSON.parse(fs.readFileSync(credentials_file_path));
|
||||||
|
|
||||||
let app = express();
|
let app = express();
|
||||||
let port = process.env.PORT || 4000;
|
let port = process.env.PORT || 4000;
|
||||||
|
process.env.TZ = config.timezone;
|
||||||
|
|
||||||
let host = config.host;
|
let host = config.host;
|
||||||
|
|
||||||
|
@ -72,6 +73,27 @@ app.get('/callback', function(req, res) {
|
||||||
access_token = credentials.token;
|
access_token = credentials.token;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
(async function post() {
|
||||||
|
let raw_date = new Date();
|
||||||
|
/* let curr_image_path = path.join(__dirname, '/data/' + date + '.jpg'); */
|
||||||
|
|
||||||
|
let static_radar_path = path.join(__dirname, '/data/current_radar.jpg');
|
||||||
|
let static_radar_image_name = `${raw_date.toISOString}.jpg`;
|
||||||
|
console.log(static_radar_image_name)
|
||||||
|
const upload_radar_image = await Post.create_image(host, access_token, static_radar_image_name, static_radar_path);
|
||||||
|
|
||||||
|
let note_caption = `# Raindar Update\n## ${raw_date.toLocaleString('th-TH')}\nLeft: Current Observation\nRight: 3 hour forecast`
|
||||||
|
const post_note = await Post.create_note(
|
||||||
|
host,
|
||||||
|
access_token,
|
||||||
|
note_caption,
|
||||||
|
[upload_radar_image.id],
|
||||||
|
"public"
|
||||||
|
)
|
||||||
|
|
||||||
|
// setInterval(post, 30000);
|
||||||
|
})();
|
||||||
|
|
||||||
/* setInterval(async function post() {
|
/* setInterval(async function post() {
|
||||||
let static_radar_path = path.join(__dirname, '/data/current_radar.jpg');
|
let static_radar_path = path.join(__dirname, '/data/current_radar.jpg');
|
||||||
const static_radar_image = await Post.create_image(host, access_token, static_radar_path);
|
const static_radar_image = await Post.create_image(host, access_token, static_radar_path);
|
||||||
|
|
Loading…
Reference in New Issue