Реклама | Adv
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
Сообщения форума
Реклама | Adv

Проблемы и заявки об ошибках Wargaming Public API

Дата: 03.11.2013 11:02:03
Просмотр сообщенияarmor_kiev (30 Окт 2013 - 22:26) писал: 1) Спасибо, понял. Попробую - доложу. По-идее в кабинете разработчика это надо большими красными буквами добавить ;)
2) Да, с access_token мы ранее разобрались, по нему вопросов пока нет.


MustBeDead: Добрый день.
Авторизация происходит в несколько этапов:
1) Делаем запрос (со значением nofollow=1) по безопасному протоколу (SSL) через cURL (все данные скрыты от пользователя - даже application_id).
2) В ответе получаем в значении location ссылку для пользователя (без проверок IP на валидность).
3) Перенаправляем пользователя для авторизации на портал Wargaming.
4) Ожидаем статус авторизации на redirect_uri (на данный URL будет отправлен пользователь + статус) - планируется изменение, как я уже писал выше.
Небольшое замечание: такой же метод авторизации можно использовать и для автономных приложений.
Попробуйте, пожалуйста, следующий скрипт:

Просмотр сообщенияCrazySys (30 Окт 2013 - 23:47) писал: Специфика при прописывании свойств cURL есть какая-то? Запрос же может быть GET?
пишу скрипт: http.//www.testsite.com/test.php
$ch = curl_init(); curl_setopt($ch, CURLOPT_VERBOSE,0); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json, text/javascript, text/html, */*', 'X-Requested-With: XMLHttpRequest')); curl_setopt($ch, CURLOPT_ENCODING, 'gzip, deflate'); curl_setopt($ch, CURLOPT_REFERER, "http://worldoftanks.ru/"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $url="https://api.worldoftanks.ru/wot/auth/login/?application_id=<серверный-app_id>&redirect_uri=http://www.testsite.com&nofollow=1"; curl_setopt($ch, CURLOPT_URL, $url); $response=json_decode(curl_exec($ch)); header('Location: ' . $response->data->location); Лезу на него браузером: -cURL с сервера testsite.com отправляет запрос на сервер pAPI и получает в ответ правильный JSON-объект (развернут в PHP):
stdClass Object ( [status] => ok [count] => 1 [data] => stdClass Object ( [location] => https://ru.wargaming...A35%3A23ZUomlZZ ) ) Далее сервер пересылает браузер пользователя на полученную ссылку:
header('Location: ' . $response->data->location);
И....
В ответ браузер получает JSON-объект:
{ "status":"error", "error":{"field":"application_id", "message":"INVALID_IP_ADDRESS", "code":407,"value":"" } } Если браузер клиента на серверном IP - то естественно все хорошо.
Что я делаю не так?


MustBeDead: Мы надеемся с вашей помощью улучшить сервис Public API. Внести все необходимые для удобства и простоты работы изменения и улучшения.

Просмотр сообщенияDrahtigel (03 Ноя 2013 - 09:25) писал: Какая нафиг стабильность на тесте? Хотите стабильности - ждите релиза :smile:


MustBeDead:

Реклама | Adv