Закрыть

Главное Редактировано: 28.08.2020 в 04:15

На этой странице описаны основные свойства и методы объекта EasyVK и функции easyvk

# vk.call()

Метод обращается к API ВКонтакте по HTTP запросам

Аргументы метода

  • а * (<string>)

    Метод, к которому нужно обратиться. Например: messages.send

    
    vk.call("messages.send")
    // или еще
    vk.call("execute")
    			

  • data (<Object>) [ { } ]

    Дополитеьные параметры, которые Вы хотите передать в запрос. Вы можете сами перенастраивать все параметры, которые Easy VK вставляет по умолчанию за Вас, такие, как access_token или v (версия API)

    
    vk.call("messages.send", {
      message: 'Привет',
      user_id: 1
    })
    			

    Или, если Вы хотите сделать запрос от другого аккаунта, не меняя сессию

    
    vk.call("messages.send", {
      access_token: 'пример',
      message: 'Привет',
      user_id: 1
    })
    		
  • methodType (<string>) ["GET"]

    Способ отправки запроса GET или POST или DELETE

    
    vk.call("wall.post", {
      message: `
      Запись с большим текстом может 
      не поместиться в обычный GET запрос
      `,
    }, "POST")
    		

Метод возвращает объект <Promise>, в resolve функцию при успешном выполнении запроса вернется следующий объект

{
  vk: EasyVK
  vkr: VKResponse // Ответ сервера
}

В случае неудачного выполнения в reject функцию передается один из объектов ошибки Easy VK

Боевой пример использования

vk.call("messages.send", {
  user_id: 1,
  message: 'Паша, привет!'
}).then(( { vkr: Response } ) => {
  
  console.log('Сообщение успешно отправлено!')
  console.log('Выводим ответ сервера ... ')

  console.log(vkr)

}).catch(error => {
	
	console.log('Сообщение не отправлено, ошибка!')
	console.log(error)

})

easyvk.is()

Метод проверяет на соответствие переменной foo классу bar

Аргументы метода

  • foo * (<Object>)

    Переменная, в которой нужно проверить принадлежость к классу

  • bar * (<string>)

    Строка с название класса, который мы хотим проверить

vk.call("messages.send").then(({vkr}) => {
	
  console.log(easyvk.is(vkr, easyvk.class.VKResponse))

}).catch(error => {
	
  if (console.log(easyvk.is(error, easyvk.class.EasyVKError))) {
		
    // Тогда ошибка произошла на стороне EasyVK

  } else {
		
    // Иначе произошла ошибка в запросе, может быть что-то неправильно введено
  }

})

easyvk.class

Это объект классов Easy VK, которые так или иначе приходится проверять, но прямого доступа для instanceof к ним нету. Используется в связке с методом easyvk.is() для проверки принадлежности к классу

Вот как выглядит объект:

{
  VKResponse: "VKResponse",
  VKResponseError: "VKResponseError",
  AudioItem: "AudioItem",
  EasyVKError: "EasyVKError"
}

Наглядный пример

HTTPClient.audio.get().then(({vkr}) => {
  
  let audio = vkr[0]
	
  // Проверим, что элемент массива - это аудиозапись, а не просто переменная
  console.log(easyvk.is(audio, easyvk.class.AudioItem))

})

easyvk.version

Текущая версия установленного Easy VK

Актуальная версия: 2.0.0 (npm)

! Читайте документацию для актуальной версии (2.0.0), если устанавливаете через NPM

easyvk.callbackAPI

Прямой доступ к объекту callbackAPI без авторизации

easyvk.streamingAPI

Прямой доступ к объекту streamingAPI без авторизации