Zero Block
Click "Block Editor" to enter the edit mode. Use layers, shapes and customize adaptability. Everything is in your hands.
Tilda Publishing
create your own block from scratch
Zero Block
Click "Block Editor" to enter the edit mode. Use layers, shapes and customize adaptability. Everything is in your hands.
Tilda Publishing
create your own block from scratch
Скрипт для додавання/видалення записів з листу TeamViewer
Є скріпти які видаляють усі контакти (в tv листі) з фільтром та без фільру, а також додавання назад пристроїв в лист з файлу який сформувався під час видалення назад, при бажані можна додати вручну для додавання скориставшись Додавання всіх пристороїв без фільтру і змінивши файлик під назвою deleteinfo.json
Виглядати запис має так:
{
      "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
},
Щоб скористатися цими скриптами треба мати токен та підставити в код замість Ваш токен підставити токен який сформовано як новий маркер за цим посиланням:
https://login.teamviewer.com/nav/profile/apps

Також потрібно для записку скриптів створити файлик в папці з розширенням .js після чого потрібно встановити необхідні компоненти через консоль відкриту в директорії, тобто в папці де створено файл потрібно виконати команду npm install:

npm install -g npm@latest
npm install -g npm@version
npm -v
І тоді після цього можна написати npm назва_файлу.js. Рекомендую для легшого використання VS Code
Видалення всіх пристроїв без фільтру
// Частина 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();