(Riot-API) Получение идентификатора только из вызова api summoner (by-name) с использованием angularJS

0

Я использую angularjs для получения информации о вызове, но только для определенного поля (например, только имя вызывающего, только идентификатор). Я пытаюсь проверить с помощью console.log(), если я получаю правильные результаты. Тем не менее, я продолжаю получать это на экране консоли:

Ошибка: [$ resource: badcfg] http://errors.angularjs.org/1.4.4/ $ resource/badcfg? P0 = query & p1 = array & p2 = obj... 2Fna.api.pvp.net% 2Fapi% 2Flol% 2Fna% 2Fv1.4% 2Fsummoner% 2Fby-name% 2Fsummoner-name в Error (native) по адресу http://localhost/riotapi_project/angularjs/angular.min.js: 6: 416 в d.module.provider. $ Get.e. ( анонимная функция).q.then.p. $ resolved (http://localhost/riotapi_project/angularjs/angular-resource.min.js: 9: 330) по адресу http://localhost/riotapi_project/angularjs/angular.min. js: 118: 217 при n. $ get.n. $ eval (http://localhost/riotapi_project/angularjs/angular.min.js: 133: 39) при n. $ get.n. $ digest (http://localhost/riotapi_project/angularjs/angular.min.js:130:60) при n. $ get.n. $ apply (http://localhost/riotapi_project/angularjs/angular.min.js: 133: 330) при g (http://localhost/riotapi_project/angularjs/angular.min.js: 87: 340) в K (http://localhost/riotapi_project/angularjs/angular.min.js: 91: 406) в XMLHttpRequest.A.load(http://localhost/riotapi_project/angularjs/angular.min.js: 92: 437)

Это мой код: index.html///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

<!doctype html>
<html lang="en" ng-app="riotApiApp">
<head>
  <meta charset="utf-8">
  <title>Angular JS Controller</title>
  <script src="angularjs/angular.min.js"></script>
  <script src="angularjs/angular-resource.min.js"></script>
  <script src="api_call.js"></script>
</head>
<!-- <body ng-controller="getSummonerbyName"> -->
<body>
<div ng-controller="getSummonerbyName">
	First Name: <input type="text" ng-model="summonerName"><br>
	  <ul ng-repeat="post in posts">
		<li>
			{{post}}
		</li>
		<!-- <div ng-controller="alternateSummonerRetrieve"> ng-model={{post.id}}></div> -->
	  </ul>
</div>


</body>
</html>

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

api_call.js

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

var riotApiApp = angular.module('riotApiApp', ['ngResource']);

riotApiApp.controller('getSummonerbyName', function($scope, $http, $resource) {
	
	$scope.$watch('summonerName', function (tmpStr) {
		if (!tmpStr || tmpStr.length == 0)
			return 0;
		setTimeout(function() {

			if (tmpStr === $scope.summonerName)
			{	
				var src = $resource('https://na.api.pvp.net/api/lol/na/v1.4/summoner/by-name/:verb', {verb:$scope.summonerName, api_key:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx'}, {retrieve: {method: 'GET', isArray: true}});
				var user = src.query({}, function() {
					
				});
				console.log(user);

			}
		}, 1000);
	});

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Может ли кто-нибудь сказать мне, что я делаю неправильно?

Теги:
riot-games-api

2 ответа

2
Лучший ответ

Вы не должны использовать интерфейсные интерфейсы, такие как AngularJS, чтобы звонить в Riot Games API, поскольку это предоставляет ваш ключ API вашим пользователям.

Вы хотите совершать звонки в API Riot Games на стороне сервера и запрашивать у клиента данные с сервера.

0

Я думаю, что я понял, как разбирать объект с него. Я ошибся в том, что я думал, что могу сделать.query вместо.get, так как метод api возвращает объект.

Пример:

$ http.get(" https://na.api.pvp.net/api/lol/na/v1.4/summoner/585897?api_key=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ").success (функция ( response_object)

После этого я просто храню результаты в массиве, и я получил свои результаты.

  • 0
    Правильно, но ваше приложение не будет одобрено, если вы сделаете это, так как ваш ключ API будет открыт. Вы должны будете делать все свои звонки на стороне сервера, как сказал Ритм в своем ответе. Удачи! :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню