рд╡реАрдХреЗ рдПрдкреАрдЖрдИ, рдЯреИрдореНрдкрд░рдореЙрдиреНрдХреА рдФрд░ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ Google рд╢реАрдЯ рдореЗрдВ рд╕рдВрдЧреАрдд рд╕рдореВрд╣реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рд╕реНрдорд╛рд░реНрдЯ

рдореИрдВ рдХрдИ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд╕рдорд░реНрдерди рд╕реЗ Google рд╢реАрдЯ рдореЗрдВ рд╕рдВрдЧреАрдд рднрдВрдбрд╛рд░рдг рдХреИрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?


рджрд┐рдП рдЧрдП : Google, VK, Telegram рдореЗрдВ рдЦрд╛рддреЗред
рдХрд╛рд░реНрдп : рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкреБрдирдГрдкреВрд░реНрддрд┐ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдЧреАрдд рд╕рдореВрд╣реЛрдВ рдХрд╛ рднрдВрдбрд╛рд░ рдмрдирд╛рдПрдВред
рдЙрдкрдХрд░рдг : Google Apps рд╕реНрдХреНрд░рд┐рдкреНрдЯ (GAS), рд╡реАрдХреЗ рдПрдкреАрдЖрдИ, рдЯреЗрдореНрдкрд░рдореЙрдиреНрдХреА, рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдПрдкреАрдЖрдИред

Google рд╢реАрдЯ рдмрдирд╛рдПрдБ


рдПрдХ рдирдпрд╛ Google рд╢реАрдЯ рдмрдирд╛рдПрдВред

рд╣рдо рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╣реЗрдбрд░ рдмрдирд╛рддреЗ рд╣реИрдВ (рддрдм рдПрдиреНрдпреВрдорд░реЗрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рднреА рдЪрдХреНрд░, рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, 0 рд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди 1 рд╕реЗ)ред

рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рд╣рдорд╛рд░рд╛ рдЦрд╛рдХрд╛ рддреИрдпрд╛рд░ рд╣реИред

рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рд╣реИ, рдореИрдВ рдирд╛рдореЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрд▓рдо рдореЗрдВ рдмрд╛рдБрдз рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛ (рдореИрдВ рдЫреЛрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛), рдЗрд╕рд▓рд┐рдП рдкреВрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдореИрдВ рд╣рд╛рд░реНрдб-рд╡рд╛рдпрд░реНрдб рдХреЙрд▓рдо рдирдВрдмрд░ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реВрдВрдЧрд╛ред

"рдЙрдкрдХрд░рдг - рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрдкрд╛рджрдХ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред



2 рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдПрдБ: Kod.gs рдФрд░ Bot.gs ред

Code.gs
access_token = '1111111111' // VK token
ss = SpreadsheetApp.getActiveSpreadsheet() // 
sheet = ss.getSheets()[getNumSheet('')] // 
data = sheet.getDataRange().getValues() //  
numRows = sheet.getLastRow()+1 //  
faveTag = '.' //    

//   get 
function doGet(e) {
try {
    var link = e.parameters['link']
    /*
      A - 
      B - English
      C - 
      D - 
      E - 
      F - 
      G - 
    */
    var n = searchExists(link)
    if (n != false) return ContentService.createTextOutput(' '+n+'  !')
    //   API VK https://vk.com/dev/groups.getById
    var html = UrlFetchApp.fetch('https://api.vk.com/method/groups.getById.json?group_id='+link+'&fields=city,description&access_token='+access_token+'&v=5.107')
    //   json   response
    var json = JSON.parse(html).response[0]
    addInTableFromArray(json, link)
    sort()
    return ContentService.createTextOutput('')
  } catch (e) {
     return ContentService.createTextOutput('   doGet! '+e)
  }
}

//  /     
function searchGenre(txt) {
  var t = txt.match(/(?:(?:[||||]|genre|[|||]?)[\s:-]+){1}([a-z-\/-]+)/i)
  if(txt != '' && t) return t[1]
}

//     
function isRus(txt) {
  return txt.search(/[^A-Za-z0-9\/.:_]+/i)
}

// 
function sort(){
  //         
  var tableRange = "A2:G"+numRows
  var editedCell = sheet.getActiveCell()
  var range = sheet.getRange(tableRange)
  //     .    0,   1
  range.sort([{ 
    column : 4,
    ascending: true
  },{
    column: 1,
    ascending: true
  },{
    column: 2,
    ascending: true
  }])
}

//   
function searchExists(t) {
  for (var i = 1; i < data.length; i++) {
    if (t == data[i][2] || 'club'+t == data[i][2]){
      return data[i][0]+data[i][1]
    }
  }
  return false
}

//      
function addInfo(isBot = false) {
  var arr = []
  var j = 0
  var part = 1000 // - ,      . -      UrlFetchApp.fetch
  arr[j] = new Array()
  for (var i = 1; i < data.length; i++) {
    var txt = data[i][2].replace('https://vk.com/','').replace('vk.com/','').replace('^club','')
    if (txt != '' && data[i][0] == '' && data[i][1] == '' && data[i][3] == '' && data[i][4] == '' && data[i][5] == '' && data[i][6] == ''){
      arr[j].push(txt)
      if (arr[j].toString().length > part){
        j++
        arr[j] = new Array()
      }
    }
  }
  if (arr[0].length == 0){
    if (isBot) return false
    else{
      SpreadsheetApp.getUi().alert(' ,   ')
      return false
    }
  }
  //   
  for (var t = 0; t < Math.ceil(arr.toString().length/part); t++) {
    var html = UrlFetchApp.fetch('https://api.vk.com/method/groups.getById.json?group_ids='+arr[t].toString()+'&fields=city,description&access_token='+access_token+'&v=5.107')
    var json = JSON.parse(html).response
    if(json){
      for (var i = 0; i < json.length; i++) {
        var id = json[i].id
        var link = json[i].screen_name
        var name = json[i].name
        var description = (json[i].description)?json[i].description:''
        var city = (json[i].city)?json[i].city.title:''
        var rus = (isRus(name) != -1)?"A":"B"    
        //         arr
        for (var j = 1; j < data.length; j++) {
          var nameCell = data[j][2].replace('https://vk.com/','').replace('vk.com/','').replace('^club','')
          if (nameCell == link || nameCell == id){
            var num = j+1
            break
          }
        }
        sheet.getRange(rus+num).setValue(name.replace('=',''))
        sheet.getRange("C"+num).setValue('=HYPERLINK("https://vk.com/'+link+'";"'+link+'")')
        sheet.getRange("D"+num).setValue(city)
        sheet.getRange("E"+num).setValue(searchGenre(description))
        sheet.getRange("F"+num).setValue(description)
      }
    }
  }
  sort()
  return true
}

//     
function getVkFave(isBot = false) {
  var idTag
  var getTags = UrlFetchApp.fetch('https://api.vk.com/method/fave.getTags.json?access_token='+access_token+'&v=5.107')
  var res = JSON.parse(getTags).response
  var iTag = res.items
  for (var i = 0; i < iTag.length; i++) {
    if (iTag[i].name == faveTag) idTag = iTag[i].id
  }
  
  // 
  if (!isBot){
    var ui = SpreadsheetApp.getUi()
    var resp = ui.alert('     "'+faveTag+'"     . ?', ui.ButtonSet.YES_NO)
  }
  var inside = function (){
    var getPages = UrlFetchApp.fetch('https://api.vk.com/method/fave.getPages.json?tag_id='+idTag+'&fields=city,description&access_token='+access_token+'&v=5.107')
    var iPage = JSON.parse(getPages).response.items
    //    .   ,   
    for (var j = 0; j < iPage.length; j++) {
      var gr = iPage[j].group
      addInTableFromArray(gr)
      numRows++
        UrlFetchApp.fetch('https://api.vk.com/method/fave.removePage?group_id='+gr.id+'&access_token='+access_token+'&v=5.107')
        Utilities.sleep(1000) // 
    }
    sort()
  }
  if (isBot) { // ,      ui
    inside()
  }else if(resp == ui.Button.YES) {
    inside()
  }
}

//    
function addInTableFromArray(arr, linkIn) {
  if (linkIn){
    var link = linkIn
  }else{
    var link = arr.screen_name
    if (searchExists(link) != false) return false
  }
  var name = arr.name // 
  var description = (arr.description)?arr.description:'' //
  var city = (arr.city)?arr.city.title:'' // 
  //      ,      "English"
  var rus = (isRus(name) != -1)?"A":"B"
  //    
  sheet.getRange(rus+numRows).setValue(name.replace('=',''))
  sheet.getRange("C"+numRows).setValue('=HYPERLINK("https://vk.com/'+link+'";"'+link+'")')
  sheet.getRange("D"+numRows).setValue(city)
  sheet.getRange("E"+numRows).setValue(searchGenre(description))
  sheet.getRange("F"+numRows).setValue(description)
}
//  . .
function checkActualLink(){
  for (var i = 1; i < data.length; i++) {
    try {
      var num = i+1
      UrlFetchApp.fetch("https://vk.com/"+data[i][2])
      sheet.getRange('C'+num).setBackgroundColor('')
    }catch(err) {
      var num = i+1
      sheet.getRange('C'+num).setBackgroundColor('red')
    }
  }
}
//  URL  .     
function getStatusUrl(url){
   var options = {
     'muteHttpExceptions': true,
     'followRedirects': false
   }
   var response = UrlFetchApp.fetch(url.trim(), options)
   return response.getResponseCode()
}
//    
function getNumSheet(nameList){
  var s = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(nameList)
  if (s != null) {
    return s.getIndex()-1
  }else{
    return false
  }
}
// 
function escapeHtml(text) {
  return text
      .replace(/&/g, "")
      .replace(/</g, "")
      .replace(/>/g, "");
}
// 
function onOpen() {
  SpreadsheetApp.getUi()
  .createMenu(' ')
  .addItem('', 'sort')
  .addItem('   ', 'getVkFave')
  .addItem(' ', 'addInfo')
  .addToUi();
}

//   
function ll(t){
  return Logger.log(t)
}


Bot.gs
var botApi = 'https://api.telegram.org/bot1123123:AAA/' //  Telegram  
/* :
 /start -   
 /sort - 
 /getvkfave -     
 /addinfo -  
 /getall -   
*/
function doPost(e){
  var inp = JSON.parse(e.postData.contents)
  // 
  var sheet2 = ss.getSheets()[getNumSheet('')]
  sheet2.getRange('A1').setValue(inp)
  
  var inpTxt = inp.message.text
  var chatId = inp.message.chat.id
  
  var link = inpTxt.replace('https://vk.com/','').replace('vk.com/','').replace('^club','')
  //  
  // start
  if (inpTxt == '/start' || inpTxt == ' '){
    sendText(chatId, '      Google .\n'+
                    '/start -   \n'+
                    '/sort - \n'+
                    '/getvkfave -    \n'+
                    '/addinfo -  \n'+
                    '/getall -   ')
    return true
  }
  // sort
  if (inpTxt == '/sort' || inpTxt == ''){
    sort()
    sendText(chatId, '')
    return true
  }
  // getvkfave
  if (inpTxt == '/getvkfave' || inpTxt == '   '){
    getVkFave(true)
    sendText(chatId, '')
    return true
  }
  // addinfo
  if (inpTxt == '/addinfo' || inpTxt == ' '){
    if (addInfo(true)) sendText(chatId, '')
    else sendText(chatId, ' ,   ')
    return true
  }
  // getall
  if (inpTxt == '/getall' || inpTxt == '  '){
    var arr = [[],[],[],[],[],[],[],[],[],[],[' ']] // TODO 
    var repeat = ''
    var n = 0
    var j = 0
    for (var i = 1; i < data.length; i++) {
      if (j == 4){ //    
        n++
        j = 0
      }
      if (repeat != data[i][3]){
        arr[n][j] = data[i][3]
        if (data[i][3] == '') arr[n][j] = '---'
        j++
      }
      repeat = data[i][3]
    }
    var key = JSON.stringify({keyboard: 
                              arr,
                              resize_keyboard:true,
                              one_time_keyboard:true
                            });
    sendText(chatId, ' ', key)
    return true
  }
  
  // 
  if (isRus(link) != -1) {
    var name = (inpTxt == '---')?' ':inpTxt
    for (var j = 1; j < data.length; j++) {
      if (data[j][3] == inpTxt || inpTxt == '---') {
        var str = ' '+name+'\n\n'
        for (var i = 1; i < data.length; i++) {
          if ((data[j][3] == data[i][3]) || (data[i][3] == '' && inpTxt == '---')) {
            if (str.length >= 4000) { //   -    Telegram 
              sendText(chatId, str)
              str = ''
            }
            str = str + '<a href="https://vk.com/' + data[i][2] + '">' + escapeHtml(data[i][0] + data[i][1]) + '</a> \n'
          }
        }
        if (str != '') sendText(chatId, str)
        return true
      }
    }
    sendText(chatId, inpTxt + ' -   .    ')
    return true
  }
  //   
  if (getStatusUrl('https://vk.com/'+link) != 200 && getStatusUrl('https://vk.com/club'+link) != 200){
    sendText(chatId, inpTxt+' -  ')
    return true
  }
  
  var name = searchExists(link)
  if (name != false){
    sendText(chatId, ' '+name+'  ')
    return true
  }else{
    var html = UrlFetchApp.fetch('https://api.vk.com/method/groups.getById.json?group_id='+link+'&fields=city,description&access_token='+access_token+'&v=5.103')
    var json = JSON.parse(html).response[0]
    addInTableFromArray(json, link)
    sort()
    sendText(chatId, ' '+json.name+' ')
    return true
  }
}
//  
function sendText(chatId, text, key = ''){
  var payload = {
    'method': 'sendMessage',
    'chat_id': String(chatId),
    'text': text,
    'parse_mode': 'HTML',
    'reply_markup': key,
    'disable_web_page_preview': true,
    'one_time_keyboard':true
  }     
  var data = {
    "method": "post",
    "payload": payload
  }
  //    UrlFetchApp.fetch   ll(text)
  UrlFetchApp.fetch(botApi, data)
}


рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдиреАрдЪреЗред

" рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВ - рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рдпреБрдХреНрдд рдХрд░реЗрдВ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ ред



рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ " script " рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдлрд╝реЙрд░реНрдо рд╕реНрдХреНрд░рд┐рдкреНрдЯ.google.com/macros/s/AAA/exec рдХрд╛ рд▓рд┐рдВрдХ рд╣реИ, рд╣рдо VK рд╕рдореВрд╣ рдХреЛ Google рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ


рдбреЗрдЯрд╛ рджрд░реНрдЬ рдХрд░рдиреЗ рдХрд╛ рдкрд╣рд▓рд╛ рдФрд░ рдореБрдЦреНрдп рддрд░реАрдХрд╛!

Google Chrome рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдпрд╛ рдореЛрдЬрд╝рд┐рд▓рд╛ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдЦреЛрд▓реЗрдВ рдФрд░ рдЯреИрдореНрдкрд░рдореЙрдиреНрдХреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд▓рдЧрдЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдХреНрд░реЛрдо рдХреЗ

рд▓рд┐рдП рд▓рд┐рдВрдХ , рдореЛрдЬрд╝рд┐рд▓рд╛ рдХреЗ рд▓рд┐рдП ред рдореВрд▓ рд░реВрдк рд╕реЗ Greasemonkey рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдХреНрд░реЙрд╕-рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдВрдЧрддрддрд╛ рдХреЗ рдХрд╛рд░рдг Tampermonkey рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдкрдбрд╝рд╛ ред рдХреМрди рдкреНрд░рд╢реНрди рдХрд░реЗрдЧрд╛ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреИрд░рд╛рдореАрдЯрд░ GM_ рдЙрдкрд╕рд░реНрдЧ рд╕реЗ рдХреНрдпреЛрдВ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ , рдФрд░ TM_ рдирд╣реАрдВ - рд╡рд┐рдЪрд╛рд░ рдореЗрд░рд╛ рдирд╣реАрдВ рд╣реИ, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкрд░ рдЬрд╛рдПрдВ ред






рд╣рдо рдкреНрд▓рд╕ рдЪрд┐рд╣реНрди рдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рдЯреИрдм рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ vkGroupToGS рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ ред

vkGroupToGS
// ==UserScript==
// @name         vkGroupToGS
// @namespace    https://vk.com/*
// @version      0.1
// @author       You
// @match        https://vk.com/*
// @grant        GM_xmlhttpRequest
// ==/UserScript==
    var url_first = 'https://script.google.com/macros/s/AAA/exec'
    var url_short = document.location.href.replace("https://vk.com/", "")
    var d = document.createElement('div')
    var head = document.querySelector('.left_menu_nav_wrap')
    d.setAttribute('id', 'send_group')
    d.style.display = 'inline-block'
    d.style.position = 'relative'
    d.style.fontSize = '50pt'
    d.style.cursor = 'pointer'
    d.innerHTML = '+'
    head.parentNode.appendChild(d)
    d.onclick = function() {
    setTimeout(function() {
        GM_xmlhttpRequest({
            method: 'GET',
            url: url_first + '?link=' + url_short,
            headers: {
                'Accept': 'application/atom+xml,application/xml,text/xml'
            },
            onload: function(x) {
                console.log(x.responseText)
                if (//.test(x.responseText)) document.querySelector('#send_group').style.color = 'red'
                else document.querySelector('#send_group').style.color = 'green'
            }
        })
    }, 0)
};


"рдлрд╝рд╛рдЗрд▓ - рд╕рд╣реЗрдЬреЗрдВред"


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдорд╛рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрд╛рдПрдВ рдмреНрд▓реЙрдХ рдореЗрдВ рдПрдХ рдкреНрд▓рд╕ рдЪрд┐рдиреНрд╣ (рдЬреЛ рдХрд▓реНрдкрдирд╛ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдереА) рдХреЛ рдмрд╛рдпреАрдВ рдУрд░_рдореЗрдиреВ_рдирд╡_рд░реВрдк рдореЗрдВ рдЦреАрдВрдЪрддреА рд╣реИ ред


рдкреНрд▓рд╕ рд╕рд╛рдЗрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ , vkGroupToGS рд╕реЗ GM_xmlhttpRequest рдХреЛ рд╣рдорд╛рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред рдКрдкрд░ (url_first) рд▓рд┐рдВрдХ рдХрд┐рдП рдЧрдП Google рд╢реАрдЯ рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред

Tampermonkey рд╣рдореЗрдВ рдЗрди 2 рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдЧрд╛, рдпрд╛ рддреЛ " script.google.com " рдХреЗ рд▓рд┐рдП " рд╣рдореЗрд╢рд╛ рдЕрдиреБрдорддрд┐ рджреЗрдВ " рдпрд╛ " рд╣рдореЗрд╢рд╛ рдбреЛрдореЗрди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВ " рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ ред " Script.googleusercontent.com " рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рджреЛрд╣рд░рд╛рдПрдВ ред


рдЬреИрд╕реЗ рд╣реА рдЕрдиреБрд░реЛрдз рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЙрдбрд╝рд╛рди рднрд░рддрд╛ рд╣реИ, GM_xmlhttpRequest рд╕реЗ рдХреЙрд▓рдмреИрдХ рдЖрдПрдЧрд╛ рдФрд░ рд╣рдорд╛рд░реЗ рдмрдЯрди рдХреЛ рд╣рд░реЗ рд░рдВрдЧ рдореЗрдВ рд░рдВрдЧ рджреЗрдЧрд╛ green рд╕рдлрд▓ рд╣реЛрдиреЗ рдкрд░ рдпрд╛ рд▓рд╛рд▓ тЬЪ рд╣реЛрдиреЗ рдкрд░ рддреНрд░реБрдЯрд┐ред

рдкреНрд▓рд╕ рдЯреИрдореНрдкреЗрд░рдорд┐рдиреА - Google рдореЗрдВ рд▓рд┐рдкрд┐рдпреЛрдВ рдХрд╛ рдХреНрд▓рд╛рдЙрдб-рдЖрдзрд╛рд░рд┐рдд рднрдВрдбрд╛рд░рдг (рдкрд╣рд▓реЗ рдирд╣реАрдВ) рдЙрдирдХреА рдЙрд░реНрд╡рд░рддрд╛ рдФрд░ рдЙрдирдХреА рдХрд▓реНрдкрдирд╛ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВред

Google рд╢реАрдЯ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВред

рд╣рдорд╛рд░реЗ Code.gs рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ , рдореИрдВ VK - vk.com/dev рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ

рд╡реАрдХреЗ рдЯреЛрдХрди


рдПрдХ рдПрдХреНрд╕реЗрд╕ рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ред
VKontakte API рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ред

рдЕрдм рддрдХ рдореИрдВрдиреЗ рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рддрд░реАрдХрд╛ рд╕реАрдЦрд╛ рд╣реИ - рд╕реНрд╡-рд▓рд┐рдЦрд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред

рд╣рдо рдпрд╣рд╛рдВ рдЖрддреЗ рд╣реИрдВ ред
рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо - " рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди "ред
рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдЖрд╡реЗрджрди рдЖрдИрдбреА (рдЕрдм рд╕рд╛рдд рдЕрдВрдХ) рдЪрд╛рд╣рд┐рдП, рдЗрд╕реЗ 1234567 рд░рд╣рдиреЗ рджреЗрдВред
рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЯреЛрдХрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореАрдЯ рдж рд╡реАрдХреЗ рдПрдкреАрдЖрдИ
рдореЗрдВ рдЯреЛрдХрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ ред

рдпрджрд┐ рд╣рдо рдкрдврд╝рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреЗрд╡рд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдИрдбреА рдореЗрдВ рдЕрдкрдиреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрдИрдбреА рдбрд╛рд▓рдХрд░ рд▓рд┐рдВрдХ рдЦреЛрд▓реЗрдВ ред рд╣рдо рд╢рд┐рд▓рд╛рд▓реЗрдЦ рд╡рд╛рд▓реЗ рдкреГрд╖реНрда рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рд╣реИрдВ:


рдХреГрдкрдпрд╛ рддреГрддреАрдп-рдкрдХреНрд╖ рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рдкрддрд╛ рдмрд╛рд░ рд╕реЗ рдбреЗрдЯрд╛ рдХреЙрдкреА рди рдХрд░реЗрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрдк рдЕрдкрдиреЗ рдЦрд╛рддреЗ рддрдХ рдкрд╣реБрдВрдЪ рдЦреЛ рд╕рдХрддреЗ рд╣реИрдВред

рдФрд░ рдпрд╣ рд╕рд╣реА рд╣реИ, рдЯреЛрдХрди рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ!

рд╣рдо access_token рдХреЗ рдмрд╛рдж рдПрдбреНрд░реЗрд╕ рдмрд╛рд░ рд╕реЗ рдЯреЛрдХрди рдХреЙрдкреА рдХрд░рддреЗ рд╣реИрдВ ред

рдореИрдВ рддреБрд░рдВрдд рдпрд╣ рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдЗрд╕ рдЯреЛрдХрди рд╕реЗ рдЖрдк vk.com/dev/groups.search?params%5Bq%5D=%D0%BC%D1%83%D0%B7%D1%8%D1%D0%BA%D0%B0┬╢ms рдкрд░ рдХреНрд╡реЗрд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред % 5Btype% 5D = рдкреГрд╖реНрда рдФрд░ рдкрд░рдо% 5Bcountry_id% 5D = 1 & params% 5Bcity_id% 5D = 1 & params% 5Bmarket% 5D = 0 & params% 5Boffset% 5D = 0 & params% 5Bcount_id% 5D = 5% = 5% = 5%% 5D =% 5% = 5% + 5%% 5% рдХреА рджрд░ рд╕реЗ 5% рдпрд╛ рдЙрд╕рд╕реЗ рдЕрдзрд┐рдХ%

api.vk.com/method/groups.search?q=%D0%BC%D1%83%D0%B7%D1%8B%D1%D0%BA%D0%B0&type=page&country_id=1&city_id=1&future= рд▓рд┐рдВрдХ рдкрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред 0 & рдмрд╛рдЬрд╛рд░ = 0 рдФрд░ рдСрдлрд╕реЗрдЯ = 0 рдФрд░ рдЧрд┐рдирддреА = 10 рдФрд░ access_token = 1111111111111 рдФрд░ v = 5.107 рдФрд░ рдХрд┐рд╕реА рднреА рдЖрд╡реЗрджрди рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред



рдореИрдВрдиреЗ рдПрдХ рдЫреЛрдЯрд╛ рдкреЗрдВрдбреЛрд░рд╛ рдмреЙрдХреНрд╕ рдЦреЛрд▓рд╛, рд╢рд╛рдпрдж рдпрд╣ рдЦрдмрд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдЖрдк рд╡реАрдХреЗ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реА рдЙрдкрдпреЛрдЧреА рдЪреАрдЬреЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдмрд╣реБрдд рд╕рд╛рд░реА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЪреАрдЬреЗрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдХреБрдЫ рд╕реАрдорд╛рдУрдВ рдХреЗ рд╕рд╛рде , рдорд╛рди рд▓реЗрдВ рдХрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ 999 рд╕реЗ рдЕрдзрд┐рдХ рдЗрдХрд╛рдЗрдпрд╛рдБ рдпрд╛ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб 20 рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ рд╣реИрдВ, рдЖрджрд┐ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрд┐рд╕реА рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд╣реЛрдЧреА - рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдореЗрдВ рдЯреИрдм " рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд╛рд░реНрдпрд╡рд┐рдзрд┐рдпрд╛рдБ "ред рдЬрд╛рдирдХрд╛рд░реА рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП

рдЗрд╕рдХреЗ рдЕрдкрдиреЗ рдирд┐рдпрдо рд╣реИрдВ, рдЬреЛ рдЕрдиреБрдХреНрд░рдорд┐рдХ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рддрд╛рдХрд┐ рдЖрдкрдХреЗ рдХреЛрдб рдореЗрдВ рдХрдИ рд▓реВрдк рди рдмрдирд╛рдПрдВред

рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ!

рдЙрдирдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рд╛рде, рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдмрджрд▓ рд╕рдХрддреА рд╣реИред рдЕрдм рдореИрдВ рд╕рдВрд╕реНрдХрд░рдг 5.107 рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг рд▓рд╛рдЧреВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ ред

рддреЛ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЯреЛрдХрди рд╣реИ, рдкрд░ рдЬрд╛рдПрдВ ...

Code.gs

doGet (e) - рд╣рдо рдмреЙрдЯ, рд╡реАрдХреЗ рдФрд░ рд╕рд┐рд░реНрдл рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред
рдЗрдирдкреБрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕реЗ e.parameters ['INPUT_Parameter']
рдПрдХ рд▓рд┐рдВрдХ рдЖрддрд╛ рд╣реИ, рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рдЯреЗрдмрд▓ рд╣реИред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рд╡рд┐рд╕реНрддреГрдд рдЕрдиреБрд░реЛрдз groups.getById , parsim рдРрдбред

! рдзреНрдпрд╛рди! рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рд░рд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕рднреА рдЖрдиреЗ рд╡рд╛рд▓реА рд▓рд┐рдВрдХ рдХреЛ рдирд┐рдЧрд▓ рдЬрд╛рдПрдЧреА, рдЗрд╕рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╕рдордп 123 рджрд░реНрдЬ рдХрд░рдиреЗ рд╕реЗ рднреА рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВред

searchGenre - рд╕рдореВрд╣ рдХреА рд╢реИрд▓реА / рд╢реИрд▓реА рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рдЦреЛрдЬ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдореИрдВрдиреЗ рд▓реЗрдЦ рдореЗрдВ "рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐" рд▓реЗрдмрд▓ рд▓рдЧрд╛рдпрд╛ред

рд╕реБрдзрд╛рд░ рд╕рдВрднрд╡ рд╣реИрдВред

рдЬрдмрдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рд╢рдмреНрджреЛрдВ рдХреЗ рдмрд╛рдж рдХреЗ рд╕реНрд▓реЗрд╢ рдпрд╛ рд╣рд╛рдЗрдлрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╢рдмреНрджреЛрдВ рдХреА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ "рд╢реИрд▓реА рдпрд╛ рд╢реИрд▓реА рдпрд╛ рд╢реИрд▓реА "ред

isus рд░реВрд╕реА рдЕрдХреНрд╖рд░реЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдирд┐рдпрдорд┐рдд рдирд┐рдпрдо рд╣реИред
рд╕реЙрд░реНрдЯ - рд╕реЙрд░реНрдЯрд┐рдВрдЧред рдореИрдВрдиреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЛ 1. рд╢рд╣рд░, 2. рдирд╛рдо рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИред
рдЦреЛрдЬрдХрд░реНрддрд╛ - рдПрдХ рд▓реВрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореМрдЬреВрджрд╛ рд╕рдореВрд╣реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рдЦреЛрдЬред
AddInfo - рдиреЗ рдЕрдкрдиреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдИ, рдЗрд╕реЗ рдпрд╣рд╛рдВ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред , рдмреЛрдирд╕ рдХреЗ рд░реВрдк рдореЗрдВред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд▓рд┐рдВрдХ рдХреА рд╕реВрдЪреА рд╣реИ, рддреЛ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрди рдкрд░ рдХреЛрдИ рдбреЗрдЯрд╛ рдирд╣реАрдВ рд╣реИред

рд╕реВрдЪреА рдХреЛ "рд▓рд┐рдВрдХ" рдХреЙрд▓рдо рдореЗрдВ рдбрд╛рд▓реЗрдВ, рдореБрдЦреНрдп рдореЗрдиреВ рдореЗрдВ " рд░рд┐рдлрд╝рд┐рд▓ рдЦрд╛рд▓реА рдХрд░реЗрдВ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рд╢реЗрд╖ рдХреЙрд▓рдо рд╡реАрдХреЗ рд╕реЗ рдордВрдЧрд╛рдП

рдЧрдП рд╣реИрдВред UrlFetchApp рдореЗрдВ рд╡рд░реНрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рдХреЗ рдХрд╛рд░рдг ред .fetch рдФрд░ рдкрддрд╛ рдмрд╛рд░ рдореЗрдВ рд░рдЦреЗ рдЧрдП рд▓рд┐рдВрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ 1000 рд╡рд░реНрдгреЛрдВ рдХрд╛ рдПрдХ рдЪрдХреНрд░ рдмрдирд╛рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред

getVkFave- рдПрдХ рдФрд░ рдмреЛрдирд╕ рдЬреЛ рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрддреЗ рд╕рдордп рдореЗрд░реЗ рд╕рд┐рд░ рдореЗрдВ рд╣реБрдЖ рдерд╛ рдФрд░ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЦреБрдж рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдерд╛ред

рд▓рдмреНрдмреЛрд▓реБрдЖрдм рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдлреЛрди рд╕реЗ рд╡реАрд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ, рдЙрд╕ рд╕рдореВрд╣ рдкрд░ рдареЛрдХрд░ рдЦрд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╣рдо рдмрдЪрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдмреБрдХрдорд╛рд░реНрдХ рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ "рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╕рдВрдЧреАрдд рд╕рдореВрд╣ " рд▓реЗрдмрд▓ (рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ faveTag )ред

рд╡реЗ рдХреИрд╕реЗ рдЬрдорд╛ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдорд╛рд░реА Google рддрд╛рд▓рд┐рдХрд╛ рдкрд░ рдЬрд╛рдПрдВ, рдореЗрдиреВ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ, " рд╡реАрдХреЗ рд╕реЗ рдмреБрдХрдорд╛рд░реНрдХ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ ред

рдЯреЛрдХрди рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░рд┐рдкреНрдЯ api.vk.com/method/fave.getTags , parses рдореЗрдВ рдХреНрд░реЙрд▓ рдХрд░рддрд╛ рд╣реИ, рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдкрд╣рд▓реЗ рд╡реАрд╕реА рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдЪреЗрддрд╛рд╡рдиреА рджреА рд╣реИ (рдпрд╣рд╛рдВ, рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рде рдФрд░ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рдЗрд╕ рдЯреИрдЧ рдХреЗ рд╕рд╛рде рдмреБрдХрдорд╛рд░реНрдХ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ )ред

getStatusUrl рдФрд░ checkActualLink- рдПрдХ рдкреНрд░рдпреЛрдЧ рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк 2 рд▓рд┐рдкрд┐рдпрд╛рдБ рдорд┐рд▓реАрдВред
рд▓рдмреНрдмреЛрд▓реБрдЖрдм рдпрд╣ рд╣реИ рдХрд┐ рд╡реИрдзрддрд╛ рдФрд░ рд▓рд┐рдВрдХ рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред

рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрдЧреАрдд рд╕рдореВрд╣реЛрдВ рдХреЗ рд╕рдВрдЪрдп рдХреЗ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ, рдореБрдЭреЗ рдЗрд╕ рддрдереНрдп рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдерд╛ рдХрд┐ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░рд┐рдХреЙрд░реНрдб рд╣рдЯрд╛ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдпрд╛ рдирд╛рдо рдмрджрд▓ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

рдореЗрд░реА рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреМрди рдХрд░реЗрдЧрд╛, рдореИрдВ рдХреБрдЫ TODO рдХреЛ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ , рдЬреЛ рди рдХреЗрд╡рд▓ рдЕрдорд╛рдиреНрдп рд▓рд┐рдВрдХ рдХреЛ рд╣рдЯрд╛ рджреЗрдЧрд╛, рдмрд▓реНрдХрд┐ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рд╡реАрдХреЗ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдБрдЪ рднреА рдХрд░реЗрдЧрд╛ ред

checkActualLink - рдПрдХ рдмрд╛рд░ рдореЗрдВ рдЕрдорд╛рдиреНрдп рд░рдВрдЧ рдХреЛ рд▓рд╛рд▓ рдХрд░рдХреЗ рд╡реИрдзрддрд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИред

  • рдорд╛рдЗрдирд╕ - рдХрдо рдЧрддрд┐ред
  • рдкреНрд▓рд╕ - рдЖрдк рдЬрдм рдЪрд╛рд╣реЗрдВ рддрдм рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

getStatusUrl - рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЗрд▓ рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ

=getStatusUrl(CONCAT("https://vk.com/";C2))

рдЙрдиреНрд╣реЛрдВрдиреЗ рдпрд╣рд╛рдВ рд╕реЗ рдЖрдзрд╛рд░ рд▓рд┐рдпрд╛ ред

  • рдорд╛рдЗрдирд╕ - рдкреЗрдЬ рдЦреБрд▓рдиреЗ рдкрд░ рд╣рд░ рдмрд╛рд░ рд╕рднреА рд╕реЗрд▓ рдХреЗ рд▓рд┐рдП рдЪрд▓рддрд╛ рд╣реИред
  • тАФ , , checkActualLink.

рдЗрд╕рдХреЗ рдмрд╛рдж Google рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:

addInTableFromArray - рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВред рдпрд╛ рддреЛ рдЪрдХреНрд░ рд╕реЗ рдпрд╛ рдПрдХ рдмрд╛рд░ рд╕реЗред
getNumSheet - рдирд╛рдо рд╕реЗ рд╢реАрдЯ рдирдВрдмрд░ рдЦреЛрдЬреЗрдВред рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдореБрдЭреЗ рдЗрд╕рд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдирдП рдЬреЛрдбрд╝рддреЗ рд╕рдордп рд╢реАрдЯ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЙрдиреНрд╣реЛрдВрдиреЗ рдпрд╣рд╛рдВ рд╕реЗ рдЖрдзрд╛рд░ рд▓рд┐рдпрд╛ ред
escapeHtml - рд╣рдЯрд╛рдПрдБ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдг
рдЬрд╛рдПрдЧрд╛ - рдмрдирд╛рдпрд╛ Logger.log рдХрдо рдЦреБрдж рдХреЗ рд▓рд┐рдП , рд╕рдордп рдХрдо рдХрд░ рджреЗрддрд╛ рд╣реИ, рдореИрдВ рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВред
onOpen - Google рд╢реАрдЯреНрд╕ рдореЗрдВ рдореЗрдиреВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░рд┐рдЪрд┐рдд рд╕реБрд╡рд┐рдзрд╛ред

рддреЛ, рд╣рдорд╛рд░рд╛ Code.gs , Vper рд╕реЗ Tampermonkey рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рд┐рдВрдХ рдкрдХрдбрд╝рддрд╛ рд╣реИ рдФрд░ Google рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рдореВрд╣ рдЬреЛрдбрд╝рддрд╛ рд╣реИред

рдЖрд▓рд╕реНрдп рдХреЛ рдЪрд╛рд▓реВ рдХрд░реЗрдВ


  • рд╣рдо рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдмреИрдареЗ рд╣реИрдВред
  • рд╣рдо рдлреЛрди рдкрд░ рдмреИрдареЗ рд╣реИрдВред

рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ, рд╣рдордиреЗ рд╕реАрдЦрд╛ рдХрд┐ рд╡реАрдХреЗ рдореЗрдВ " рдкреНрд▓рд╕ рд╕рд╛рдЗрди " рдФрд░ рдмреБрдХрдорд╛рд░реНрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдореВрд╣ рдХреИрд╕реЗ рдЬреЛрдбрд╝реЗрдВ ред
рдлреЛрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдХреЗрд╡рд▓ рд╡реАрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдмреБрдХрдорд╛рд░реНрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред

рдЖрдЗрдП рд╕рдореВрд╣ рдмрдирд╛рдиреЗ рдХреЗ рджреЛ рдФрд░ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рдЧреМрд░ рдХрд░реЗрдВред

рдпреВрдПрд╕рдЖрдИ


рдореЛрдмрд╛рдЗрд▓ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯред

рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдкреБрд░рд╛рдиреЗ рдЬрдорд╛рдиреЗ рдФрд░ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдкреНрд░рддреАрдд рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдРрд╕реЗ рд▓реЛрдЧ рднреА рд╣реЛрдВрдЧреЗ рдЬреЛ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдХреЛ рдЗрд╕рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓реЗрдВрдЧреЗред

рдЕрднреА рддрдХ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рд╕рд░реНрдЪ рдХрд░рдиреЗ рдкрд░ рд╕рд┐рд░реНрдл рдРрд╕рд╛ рд╣реА рдкреНрд▓рдЧрдЗрди рдорд┐рд▓рд╛ ред
рдпрд╣ рдХреЗрд╡рд▓ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдХреЗрд╡рд▓ Android рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред

рдПрдХ рд╡рд┐рд╢рд╛рд▓ рдкреНрд▓рд╕ - рдЖрдк рдЯреЗрдореНрдкрд░рдореЙрдиреНрдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреЗ рдмреАрдЪ рд▓реЗрдЖрдЙрдЯ рдореЗрдВ рдорддрднреЗрдж рдХреЗ рдХрд╛рд░рдг vk.com рдФрд░ m.vk.com , рдФрд░ рдЗрд╕рд▓рд┐рдП рднреА рдХреНрдпреЛрдВрдХрд┐ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рдВрдбреЛ рдЦреЛрд▓рдиреЗ рдХреЗ m.vk.com, рдореИрдВ рдирд╣реАрдВ рдерд╛ рдПрдХ рдЖрдХрд░реНрд╖рд┐рдд рдзрди рдЪрд┐рд╣реНрди , рд▓реЗрдХрд┐рди рдмрдирд╛рдпрд╛ рдПрдХ рд╕рд░рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ VK_event_to_list_mvk рдХрд┐ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рд╡рд┐рдВрдбреЛ рдЦреЛрд▓рддрд╛ рд╣реИ (рдореБрдЭреЗ рдЬрд▓рд╛ рдирд░рдХ рдореЗрдВ setTimeout рдХреЗ рд▓рд┐рдП , рдореБрдЭреЗ рдкрддрд╛ рд╣реИ)ред

Code.gs
// ==UserScript==
// @name         VK_event_to_list_mvk
// @namespace    https://m.vk.com/*
// @match        https://m.vk.com/*
// @grant    GM_xmlhttpRequest
// ==/UserScript==
setTimeout(function() {
    var url_first = 'https://script.google.com/macros/s/111/exec';
    var url_short = document.location.href.replace("https://m.vk.com/", "");
    GM_xmlhttpRequest({
        method: 'GET',
        url: url_first + '?link=' + url_short,
        headers: {
            'Accept': 'application/atom+xml,application/xml,text/xml'
        },
        onload: function(x) {
            alert(x.responseText);
        }
    });
}, 2000);



рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ


рд╣рдо рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрдХ рдмреЙрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ ред
рд╣рдореЗрдВ рдПрдХ рдЯреЛрдХрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕реЗ 123123 рд╣реЛрдиреЗ рджреЗрдВред

рдПрдХ Bot.gs рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдПрдВ , рд╣рдорд╛рд░реЗ 123123 рдХреЛ botApi рд╡реЗрд░рд┐рдПрдмрд▓ рдореЗрдВ рдбрд╛рд▓реЗрдВ , рдЗрд╕реЗ рдЙрджреНрдзрд░рдг рдФрд░ api.telegram.org рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рддреИрдпрд╛рд░ рдХрд░реЗрдВ ред

рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдЕрдкрдиреЗ рдмреЙрдЯ рдХреЛ Google рд╢реАрдЯ рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдк рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ WebHook рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд░реЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ ред

рд╣рдорд╛рд░реЗ рдмреЙрдЯ рдХреНрдпрд╛ рдХрд░реЗрдВрдЧреЗ?

рд╣рдо рдЖрджреЗрд╢реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдШрдЯрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ:

  • / рдкреНрд░рд╛рд░рдВрдн - рдмреЙрдЯ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ
  • / рд╕реЙрд░реНрдЯ - рд╕реЙрд░реНрдЯ рдХрд░реЗрдВ
  • / getvkfave - VK рд╕реЗ рдмреБрдХрдорд╛рд░реНрдХ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
  • / addinfo - рдЦрд╛рд▓реА рдореЗрдВ рднрд░реЗрдВ
  • / getall - рд╕рднреА рд╕рдореВрд╣ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ

рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмреЙрдЯ рдХреА рд╢реБрд░реБрдЖрдд рд╣реИ, рд╣рдо рдЖрдкрдХреЗ рд╡рд┐рд╡реЗрдХ рдкрд░ рдПрдХ рд╡рд░реНрдгрдирд╛рддреНрдордХ рднрд╛рдЧ рдХреЗ рд╕рд╛рде рдПрдХ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдбрд╛рд▓реЗрдВрдЧреЗред

рд╕рд┐рд░реНрдл рдорд╛рдорд▓реЗ рдореЗрдВ рдореБрдЦреНрдп рдореЗрдиреВ рд╕реЗ рддреАрди рдХрдорд╛рдВрдбред

рдФрд░ рдЕрдЧрд▓рд╛ рдмреЛрдирд╕ / рдкреНрд░рд╛рдкреНрдд рд╣реИ , рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдиреАрдЪреЗред

рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдХреЙрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб (рд╕рдВрджреЗрд╢ рдЗрдирдкреБрдЯ рд▓рд╛рдЗрди рдореЗрдВ рдПрдХ рд╕реНрд▓реИрд╢ рд▓рд┐рдЦреЗрдВ) рдЙрд╕реА @BotFather рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ / setcommands рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдкреНрд░рд╛рд░реВрдк - рдПрдХ рдбреИрд╢ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рд╛рдЗрдиреЗрдВ:

start -   
sort - 
getvkfave -    
addinfo -  
getall -   


Bot.gs

doPost - рдмреЙрдЯ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред

рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдПрдХ рдЬрд┐рдЬреНрдЮрд╛рд╕реБ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рддреБрд░рдВрдд рд▓реЙрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рд╢рд╛рдпрдж рдЖрд╕рд╛рди рддрд░реАрдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрднреА рдПрдХ рдирдИ рд╢реАрдЯ рдмрдирд╛рдИ рд╣реИ, рдЬрд┐рд╕реЗ "рд▓реЙрдЧреНрд╕" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдореИрдВ рдкрд╣рд▓реА рд╕реЗрд▓ рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдкрдХрдбрд╝рддрд╛ рд╣реВрдВред

рдЗрд╕рд▓рд┐рдП, JSON.parse (e.postData.contents) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрджреЗрд╢ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж , рд╣рдо рддреБрд░рдВрдд рд▓реЙрдЧ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВред

рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕реА рдЯреАрдо рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрдИред

рдпрджрд┐ рдПрдХ рдЯреАрдо рдирд╣реАрдВ рд╣реИ, рддреЛ рд╣рдо рд╡реИрдзрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд рдХреНрдпрд╛ рдПрдХ рд╕рдореВрд╣ рд╡реАрдХреЗ рдореЗрдВ рдореМрдЬреВрдж рд╣реИред

sendText - рдмреЙрдЯ рдХреЛ рд╕рдВрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реИ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ parse_mode = HTML), рдкреНрд░рд▓реЗрдЦрди ред

/ getall - рд╣рдо рдЗрд╕рдХрд╛ рдЕрд▓рдЧ рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗред

рдореЗрд░реЗ рдирд┐рд░реНрдгрдп рд╕реЗ рдбрд░реЛ рдордд

[[],[],[],[],[],[],[],[],[],[],[' ']]

рд╢рд╣рд░реЛрдВ рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд╣рдо рдЦреБрдж рдХреЛ 4 рд╢рд╣рд░реЛрдВ рдореЗрдВ 8-10 рд▓рд╛рдЗрдиреЛрдВ рддрдХ рд╕реАрдорд┐рдд рдХрд░рддреЗ рд╣реИрдВ (рдЪрд░ рдЬреЗ = 4)ред

рдпрджрд┐ рд╕рдВрдЧреАрдд рд╕рдореВрд╣ рд╢рд╣рд░ рдХреЗ рдмрд┐рдирд╛ рд╣реИ, рддреЛ рдбрд╛рд▓реЗрдВ ---ред

рдмрд╕ рд╢рд╣рд░ рдЪреБрдиреЗрдВ рдФрд░ Bot.gs рдореЗрдВ рд░реВрд╕реА рдкрддреНрд░ рдкрдХрдбрд╝реЗрдВ ред

рд╣рдо рд▓рд┐рдВрдХ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЕрдзрд┐рдХ рдХреБрдЫ рдирд╣реАрдВред


рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рд╣реЙрдЯрд╕реНрдкреЙрдЯ рд╢реАрд▓реНрдб рдлреНрд░реА рд╡реАрдкреАрдПрди рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдЬрд░рд┐рдП рдПрдбреНрд░реЗрд╕ рдмрд╛рд░ рдореЗрдВ рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрд╢рди рдФрд░ рдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдХреА рдкрд╣реБрдВрдЪ рдЕрдирд▓рд┐рдорд┐рдЯреЗрдб рд╡реАрдкреАрдПрди (рдЧреВрдЧрд▓ рдХреНрд░реЛрдо рдХреЗ рд▓рд┐рдП) рд╣реИред

рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдЕрдкрдиреА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреЗ рддреАрди рддрд░реАрдХреЗ рд╕реАрдЦреЗ:

  • рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ
  • рдореЛрдмрд╛рдЗрд▓ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓рд┐рдкрд┐рдпреЛрдВ (USI)
  • рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ

рдЖрдкрдХреЛ рдХреНрдпрд╛ рдЬрд╛рдирдирд╛ рдФрд░ рдпрд╛рдж рд░рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ?


VK рд▓рд┐рдВрдХ рдореЗрдВ рдХреНрд▓рдм рдЙрдкрд╕рд░реНрдЧ VK

рд╕рдореВрд╣реЛрдВ рдореЗрдВ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рднрдВрдбрд╛рд░рдг рдХреЗ 2 рдкреНрд░рдХрд╛рд░ рд╣реИрдВред

  1. рдирд╛рдо рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдорд╛рдиреНрдп рдЕрдВрдбрд░рд╕реНрдХреЛрд░ рдФрд░ рд╣рд╛рдЗрдлрд╝рди рдХреЗ рд╕рд╛рде рд╣реИред
  2. рдЖрдИрдбреА

рдФрд░ рд╡реЗ рд╕рднреА рдХреЛ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реА рддрд░рд╣ред

рдЬрд╛рдБрдЪ рд╕рд░рд▓ рд╣реИред

рдЕрдЧрд░ рд╡рд╣рд╛рдБ рдПрдХ рд╕рдореВрд╣ рд╣реИ, рдорд╛рди рд▓реЗрдВ рдХрд┐ vk.com/4soulsband , рд╡рд┐рдХрд▓реНрдк 4soulsband рдореЗрдВ group_ids рдореЗрдВ vk.com/dev/groups.getById , рдкреИрд░рд╛рдореАрдЯрд░ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рдПрдХ рд╣реИ рдЖрдИрдбреА ред рдФрд░ рдпрджрд┐ рд╣рдо рдбрд╛рд▓ рдХреНрд▓рдм рдЙрд╕рдХреЗ рд╕рд╛рдордиреЗ , рджреЗрдЦрд╛, рд╣рдо рдПрдХ рд╣реА рдкреГрд╖реНрда рдкрд░ рдЬрд╛рдиреЗ рдХреЗ vk.com/club68130764 ред

рд╡реАрдХреЗ рдореЗрдВ рд╕рдореВрд╣реЛрдВ рдХреЗ рднрдВрдбрд╛рд░рдг рдХреЛ 5000 рддрдХ рд╕реАрдорд┐рдд рдХрд░рдирд╛

рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред

рд╡реАрдХреЗ рдкреЗрдЬ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдореЗрд░рд╛ рджрд░реНрдж

рдореИрдВ рдХрдмреВрд▓ рдХрд░рддрд╛ рд╣реВрдВ рдЬрдм рддрдХ рдХрд┐ рдореИрдВ рд╡реАрдХреЗрдЖрд░ рдореЗрдВ рдкрдиреНрдиреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдХреНрд░рдордг рдХреЛ рдкрдХрдбрд╝рдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдЯреИрдореНрдкрд░рдореЙрдиреНрдХреА рдореЗрдВ рдкреНрд▓рд╕ рд╕рд╛рдЗрди рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдерд╛ред TODO

Google рдкрддреНрд░рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ DB рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рдирд╛

  • рдкреНрд▓рд╕ - рдЙрдкрд▓рдмреНрдзрддрд╛
  • рдорд╛рдЗрдирд╕ - рдЬрдм 5000 рд╕реЗ рдЕрдзрд┐рдХ рд▓рд╛рдЗрдиреЗрдВ рдЬрдорд╛ рд╣реЛрддреА рд╣реИрдВ, рддреЛ " рдбреАрдмреА " рдХреЗ рд╕рд╛рде рдХрд╛рдо рдзреАрдорд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ ред рдЗрд╕рд▓рд┐рдП рдЧрдВрднреАрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп DBMS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред

рдПрдХ рд╕рдореВрд╣ рд╢рд╣рд░ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛

рд╡реАрдХреЗ рдореЗрдВ рд╕рдореВрд╣ рдХрд╛ рдкрддрд╛ рдпрд╣рд╛рдВ vk.com/dev/groups.getAddresses , рдХреНрд░рдорд╢рдГ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ , рдЬреЛ рдПрдХ рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рд╣рд░ рдХреА рдЦреЛрдЬ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рд╕рдВрдкреВрд░реНрдг


рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реИ:

  1. Google рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣ рддрд╛рд▓рд┐рдХрд╛ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╣рдордиреЗ рдХрд╛рдо рдХрд░рдирд╛ рд╕реАрдЦрд╛ред
  2. рд╡реАрдХреЗ рдПрдкреАрдЖрдИ рдХрд╛ рдЬреНрдЮрд╛рдиред рдпрд╣реА рд╣реИ, рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рд╕рдВрдЧреАрдд рд╕рдореВрд╣реЛрдВ рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗред
  3. рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рддреИрдирд╛рдд рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдореЗрд░рд╛ рд▓рдХреНрд╖реНрдп рдЕрдЧрд▓реЗ рдмрдирд╛рдП рдЧрдП рдЦрд┐рд▓реМрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдШрдордВрдб рдХрд░рдирд╛ рдирд╣реАрдВ рд╣реИ, рдореЗрд░рд╛ рд▓рдХреНрд╖реНрдп рдирдП рд▓реЛрдЧреЛрдВ рдХреЛ рджрд┐рдЦрд╛рдирд╛ рд╣реИ (рдФрд░ рди рдХреЗрд╡рд▓) рдЦреБрд▓реЗ рдПрдкреАрдЖрдИ рдХреА рдПрдХ рд╡рд┐рд╢рд╛рд▓ рдкрд░рдд рд╣реИ рдЬреЛ рдЬреАрд╡рди рдХреЛ рдПрдХ рдбрд┐рдЧреНрд░реА рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдХреЛ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреА рд╣реИ, рд▓реЛрд╣реЗ рдХреА рдзрд░рддреА рд╕реЗ "рдмрд╛рджрд▓реЛрдВ" рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдмреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдПред

рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рддреИрдпрд╛рд░ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдЦреБрд▓рд╛ рд╣реИред

рдирдП рдЬреНрдЮрд╛рди рдХреЗ рд╡рд┐рдХрд╛рд╕ рдФрд░ рд╕рдордЭ рдХреЗ рд▓рд┐рдП рд╢реБрднрдХрд╛рдордирд╛рдПрдБред

рдкреНрд░рд▓реЗрдЦрди


Google Apps рд╕реНрдХреНрд░рд┐рдкреНрдЯ - рд╕реНрдкреНрд░реИрдбрд╢реАрдЯ рд╕реЗрд╡рд╛
рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдПрдкреАрдЖрдИ
рд╡реАрдХреЗ рдПрдкреАрдЖрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ
рдХреЗ рдирд╛рдо рд▓рд┐рдЦрдирд╛ рд╕реАрдЦреЗрдВ
ред
Google рдбреЙрдХреНрд╕
рд▓рд╛рдбрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд╛рдЗрдЯ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЛ рдЧрд╣рд░рд╛ рдХрд░рдирд╛ ред рд╣рдо Google рд╕реНрдХреНрд░рд┐рдкреНрдЯ
[рдЙрджрд╛рд╣рд░рдг, Google Apps Script] рдкрд░ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рд▓рд┐рдЦрддреЗ рд╣реИрдВ: Google рд╢реАрдЯ рдХреЗ рд▓рд┐рдП рдРрдб-рдСрди / рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд╡рд┐рдХрд╛рд╕ (рд╕реНрдкреНрд░реЗрдбрд╢реАрдЯ)
рдЯреВрдЯреА рд╣реБрдИ рд▓рд┐рдВрдХ рдХреА рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП Google рд╕реНрдкреНрд░реЗрдбрд╢реАрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ

All Articles