VK API в ExpressJS - узнать статус пользователя
Всем привет! Мне нужно на ExpressJS реализовать следующую возможность: при переходе на страницу /vkstatus?user_id=1234 вывести на странице текст из статуса пользователя ВКонтакте с переданным user_id, равным 1234.
app.get("/vkstatus", (req, res) => {
https.get(`https://oauth.vk.com/access_token?client_id=${process.env.VK_APP_ID}&client_secret=${process.env.VK_SERVICE_KEY}&v=5.131&grant_type=client_credentials`, (response) => {
let data = "";
response.on("data", chunck => {
data += chunck;
});
response.on("end", () => {
let parsedData = JSON.parse(data);
https.get(`https://api.vk.com/method/status.get?user_id=${req.query.user_id}&access_token=${parsedData.access_token}&v=5.131`, r => {
r.on("data", (d) => {
res.send(`${d}`);
})
})
})
})
})
При выполнении этого кода на странице отображается следующий ответ от сервера:
{"error":{"error_code":28,"error_msg":"Application authorization failed: access_token has expired.","request_params":[{"key":"user_id","value":"1234"},{"key":"v","value":"5.131"},{"key":"method","value":"status.get"},{"key":"oauth","value":"1"}]}}
Вместо ожидаемого (у меня включена трансляция музыки в статус, поэтому в поле response.text отображается название текущего трека, которое мне нужно отобразить в моем приложении на странице /vkstatus):
{
"response": {
"text": "Hans Zimmer — A Place Among the Stars",
"audio": {
"artist": "Hans Zimmer",
"id": 77679312,
"owner_id": -2001679312,
"title": "A Place Among the Stars",
"duration": 25,
"is_explicit": false,
"is_focus_track": false,
"track_code": "8701bdaeHBEDnTHUNFHo6yTcYJ-Xo_53CNQ7epviZPast4so5K9leRSMNskvR4xSjyuVX1BlMrE9BCVMHEI",
"url": "https://vk.com/mp3/audio_api_unavailable.mp3",
"date": 1605013911,
"main_artists": [
{
"name": "Hans Zimmer",
"domain": "224569899951756387",
"id": "224569899951756387",
"is_followed": false,
"can_follow": false
}
],
"short_videos_allowed": false,
"stories_allowed": false,
"stories_cover_allowed": false
}
}
}
Вопрос: что я делаю не так, почему полученный ранее access_token ВК отказывается принимать при новом запросе? И что мне нужно сделать, чтобы отобразить на /vkstatus статус пользователя, полученный по VK API?
Мне необходимо придумать решение, работающее в бэкенде сайта (без авторизации конкретного пользователя на странице /vkstatus)
Буду благодарен за помощь!