Как получить данные с помощью VK API в Angular?

Не могу получить данные через апи Вконтакте. Вот сервис:
app.factory('VkontakteCount', ['$http',
    function($http) {
        return {
            fetchVk: function(callback) {
                
                var methodName = 'groups.getMembers';
                var groupID = 76922753;                
                var url = 'https://api.vk.com/method/'+methodName+'?group_id='+groupID+'&callback=JSON_CALLBACK';

               $http.jsonp(url).success(function(response) {
                    callback(response.data);
                });                
            }
        }
    }
]);

Вот кусок контроллера:
VkontakteCount.fetchVk(function(data){
  	$scope.vkcount = data;  	
  });

В консоли никаких ошибок нет, но и результата никакого. Помогите, может кто встречался с такой проблемой
  • Вопрос задан
  • 3525 просмотров
Решения вопроса 1
@Gromadchuk
$http.jsonp(url).success(function(response) {
    callback(response.data);
});

Конкретно это разберем. Вы говорите, что в консоли ничего нет, а с чего там должно что-то быть? Для того, чтобы в консоли что-то было, нужно это запросить строкой:

$http.jsonp(url).success(function(response) {
    console.log(response);
});


Дальше мы сталкиваемся, что в консоли вы увидите объект с ответом от ВКонтакте. Для корректности, переименуем переменную ответа с response на data. После чего присвоим вашей переменной vkcount количество участников сообщества. В итоге получится результат ниже, с которого вам будет понятно все и вы сможете изменить все под себя.

$http.jsonp(url).success(function(data) {
    $scope.vkcount = data.response.count;
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
shekspir
@shekspir
Может кому нибудь поможет. :)
https://github.com/shekspir55/ngVk
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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