{
"remotecontrol_id": "r811155332",
"device_id": "d1523376233",
"alias": "Козацький Паб - ГК 2 пРРОМ (К)",
"groupid": "g81973220",
"online_state": "Online",
"policy_id": "5deb7cb8-2109-4051-9ce9-27b0910dd621",
"assigned_to": true,
"supported_features": "remote_control, chat",
"teamviewer_id": 811155332
}, npm install -g npm@latest
npm install -g npm@version
npm -v // Частина 1: Видалення пристроїв
const axios = require('axios');
const fs = require('fs').promises;
async function main() {
const API_TOKEN = 'Ваш токен';
async function fetchAndDeleteDevices() {
try {
const response = await axios({
method: 'get',
url: 'https://webapi.teamviewer.com/api/v1/devices',
headers: {
'Authorization': `Bearer ${API_TOKEN}`
}
});
const devices = response.data.devices || response.data;
if (!Array.isArray(devices)) {
throw new Error('Отримані дані не є масивом');
}
await fs.writeFile('deleteinfo.json', JSON.stringify(devices, null, 2), 'utf8');
for (const device of devices) {
try {
await axios({
method: 'delete',
url: `https://webapi.teamviewer.com/api/v1/devices/${device.device_id}`,
headers: {
'Authorization': `Bearer ${API_TOKEN}`
}
});
await new Promise(resolve => setTimeout(resolve, 500));
console.log(`Пристрій ${device.device_id} видалено`);
} catch (error) {
console.error(`Помилка при видаленні пристрою ${device.device_id}:`, error);
continue;
}
}
console.log('Процес видалення пристроїв завершено успішно');
} catch (error) {
console.error('Помилка при обробці пристроїв:', error);
}
}
await fetchAndDeleteDevices();
}
main(); // Частина 1: Видалення пристроїв
const axios = require('axios');
const fs = require('fs').promises;
async function main() {
const API_TOKEN = 'Ваш токен';
async function fetchAndSaveDevices() {
const config = {
method: 'get',
url: 'https://webapi.teamviewer.com/api/v1/devices',
headers: {
'Authorization': `Bearer ${API_TOKEN}`
}
};
try {
const response = await axios(config);
const jsonData = JSON.stringify(response.data, null, 2);
await fs.writeFile('alldevices.json', jsonData, 'utf8');
console.log('Дані успішно записані у файл alldevices.json');
return true;
} catch (error) {
console.error('Помилка при отриманні даних:', error);
return false;
}
}
async function filterAndDeleteDevices() {
try {
const data = await fs.readFile('alldevices.json', 'utf8');
const jsonData = JSON.parse(data);
const devices = jsonData.devices || jsonData;
if (!Array.isArray(devices)) {
throw new Error('Отримані дані не є масивом');
}
const devicesWithPolicy = devices.filter(device => device.policy_id);
const devicesToProcess = devicesWithPolicy.slice(0, 10);
await fs.writeFile('deleteinfo.json', JSON.stringify(devicesToProcess, null, 2), 'utf8');
for (const device of devicesToProcess) {
try {
await axios({
method: 'delete',
url: `https://webapi.teamviewer.com/api/v1/devices/${device.device_id}`,
headers: {
'Authorization': `Bearer ${API_TOKEN}`
}
});
await new Promise(resolve => setTimeout(resolve, 500));
console.log(`Пристрій ${device.device_id} видалено`);
} catch (error) {
console.error(`Помилка при видаленні пристрою ${device.device_id}:`, error);
continue;
}
}
console.log('Процес видалення пристроїв завершено успішно');
} catch (error) {
console.error('Помилка при обробці пристроїв:', error);
}
}
const fetchSuccess = await fetchAndSaveDevices();
if (fetchSuccess) {
await filterAndDeleteDevices();
}
}
main(); // Частина 2: Створення пристроїв
const axios = require('axios');
const fs = require('fs').promises;
async function main() {
const API_TOKEN = 'Ваш токен';
async function recreateDevices() {
try {
const data = await fs.readFile('deleteinfo.json', 'utf8');
const devices = JSON.parse(data);
for (const device of devices) {
const deviceData = {
remotecontrol_id: device.remotecontrol_id,
alias: device.alias,
groupid: device.groupid,
password: "iikoRMS351"
};
try {
await axios({
method: 'post',
url: 'https://webapi.teamviewer.com/api/v1/devices',
headers: {
'Authorization': `Bearer ${API_TOKEN}`,
'Content-Type': 'application/json'
},
data: deviceData
});
await new Promise(resolve => setTimeout(resolve, 500));
console.log(`Пристрій ${device.remotecontrol_id} створено`);
} catch (error) {
console.error(`Помилка при створенні пристрою ${device.remotecontrol_id}:`, error);
}
}
console.log('Процес створення пристроїв завершено успішно');
} catch (error) {
console.error('Помилка при обробці пристроїв:', error);
}
}
await recreateDevices();
}
main(); // Частина 2: Створення пристроїв
const axios = require('axios');
const fs = require('fs').promises;
async function main() {
const API_TOKEN = 'Ваш токен';
async function recreateDevices() {
try {
const data = await fs.readFile('deleteinfo.json', 'utf8');
const devices = JSON.parse(data);
for (const device of devices) {
const deviceData = {
remotecontrol_id: device.remotecontrol_id,
alias: device.alias,
groupid: device.groupid,
assigned_to: device.assigned_to,
password: "iikoRMS351"
};
try {
await axios({
method: 'post',
url: 'https://webapi.teamviewer.com/api/v1/devices',
headers: {
'Authorization': `Bearer ${API_TOKEN}`,
'Content-Type': 'application/json'
},
data: deviceData
});
await new Promise(resolve => setTimeout(resolve, 500));
console.log(`Пристрій ${device.remotecontrol_id} створено`);
} catch (error) {
console.error(`Помилка при створенні пристрою ${device.remotecontrol_id}:`, error);
}
}
console.log('Процес створення пристроїв завершено успішно');
} catch (error) {
console.error('Помилка при обробці пристроїв:', error);
}
}
await recreateDevices();
}
main();