@wll

Почему не удается получить данные методом video.get у некоторых ссылок?

Привет! Подскажите пожалуйста, в чем может быть дело?
Имеем 2 ссылки:
1) https://api.vk.com/method/video.get?videos=-218471...
2) https://api.vk.com/method/video.get?videos=-179985...
У них один и тот же токен, но разные id. При переходе по ним получаем корректный ответ для обеих ссылок.
Но если с помощью Google Apps Scritps, или же обычной встроенной формулы попытаться вывести результат в Google Sheets, например:
=IMPORTDATA("https://api.vk.com/method/video.get?videos=-218471..."; 1)
Для первой ссылки мы получим тот же ответ, что и при ручном открытии ссылки. А для второй ссылки:
=IMPORTDATA("https://api.vk.com/method/video.get?videos=-179985..."; 1)
Получаем уже {"response":{"count":0,"items":[]}}.
Что может быть не так? Из-за чего такое может произойти? Токен имеет все необходимые права, т.к. при ручном открытии мы получаем корректный ответ. Второе видео не имеет никакой настройки приватности.
  • Вопрос задан
  • 113 просмотров
Решения вопроса 1
ProgrammerForever
@ProgrammerForever Куратор тега Google Apps Script
Учитель, автоэлектрик, программист, музыкант
1) Попробуйте открывать не в браузере, а в постмане; там более чистый запрос - нет кук, можно контролировать заголовки, юзер-агент, реферер и т.п.
2) Если приходит ответ вида:
{"response":{"count":0,"items":[]}}
то, скорее всего, и с токеном и со всем остальным всё ок - что-то не то с данными запроса или с самим ресурсом, который запрашивается. Это 200 ответ, а не ошибка.
3) Как вариант для проверки - сервис может не отдавать данные по некоторым ip адресам. Предсказать какой будет ip у скрипта невозможно.
4) Попробуйте сохранить и переиспользовать куки, внедрить в headers нужные заголовки, которые браузер передаёт и т.п.
5) Перезалейте второе видео, возможно всё-таки есть что-то, что запрещает получать данные по API.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы