Автор Тема: Google Geolocation API не работи  (Прочетена 464 пъти)

4096bits

  • Напреднали
  • *****
  • Публикации: 3523
    • Профил
Google Geolocation API не работи
« -: Jun 01, 2020, 10:31 »
Вчера си направих ключ и пробвах точно това, което са дали като пример на сайта си. Нъцки!

Целта ми е да взема географската локация по IP. Доколкото прочетох, тази локация става по мобилните клетки и разни познати на Google wifi точки, които телефона хващал. Обаче аз искам да го направя за настолна машина, по IP. Или лаптоп съответно.

Изпраща се POST заявка на този адрес, като накрая се добавя и ключа: https://www.googleapis.com/geolocation/v1/geolocate?key={API_key}
Обаче връща 404, а след няколко опита ми каза, че съм стигнал лимита. От пет заявки?!

Към заявката задължително се изпраща и JSON със следните данни, като всички те са опции:

Цитат
    homeMobileCountryCode: The mobile country code (MCC) for the device's home network.
    homeMobileNetworkCode: The mobile network code (MNC) for the device's home network.
    radioType: The mobile radio type. Supported values are lte, gsm, cdma, and wcdma. While this field is optional, it should be included if a value is available, for more accurate results.
    carrier: The carrier name.
    considerIp: Specifies whether to fall back to IP geolocation if wifi and cell tower signals are not available. Defaults to true. Set considerIp to false to disable fall back.
    cellTowers: An array of cell tower objects. See the Cell Tower Objects section below.
    wifiAccessPoints: An array of WiFi access point objects. See the WiFi Access Point Objects section below.

Аз разбира се партих само {"considerIp": "true"}
При успех би трябвало да върне локацията и радиуса. Нещо такова:
Цитат
{
  "location": {
    "lat": 51.0,
    "lng": -0.1
  },
  "accuracy": 1200.4
}

Вместо това, получавай ей туй:
Цитат
'{\n'
   "error": {\n'
     "code": 404,\n'
     "message": "Requested entity was not found.",\n'
     "errors": [\n'
       {\n'
         "message": "Requested entity was not found.",\n'
         "domain": "global",\n'
         "reason": "notFound"\n'
       }\n'
     ],\n'
     "status": "NOT_FOUND"\n'
   }\n'
 }\n')

И не проработи.
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

Naka

  • Напреднали
  • *****
  • Публикации: 2778
    • Профил
Re: Google Geolocation API не работи
« Отговор #1 -: Jun 01, 2020, 20:03 »
Хич и не ползвай техните Апи-та. Ще вложиш много труд, ще направиш някакво работещо приложение и в един момент ще кажат - дотук спираме Апи-тата  и ще увиснеш.

От опит ти го казвам. Едно време ползвах техни апита за Г транслате. мина се година две и ги спряха. Ако знаеш колко хора по света изгоряха с написани програми.

Изобщо защо трябва да ти дават достъп до някаква тяхна услуга (зад която стои огромна инфраструктура) с което сами ще си подбиват бизнеса. Така ти им ставаш пряк конкурент.

Търси друго решение. Изобщо бягай от решения в които някоя фирма ти дава достъп до техни услуги.

-------------
намерих го:
https://www.linux-bg.org/forum/index.php?topic=41007.0
« Последна редакция: Jun 01, 2020, 20:21 от Naka »
Активен

Perl - the only language that looks the same before and after encryption.

4096bits

  • Напреднали
  • *****
  • Публикации: 3523
    • Профил
Re: Google Geolocation API не работи
« Отговор #2 -: Jun 03, 2020, 15:58 »
Да, оказа се, че е платено. Не е много, но е платено. На мен не ми трябва в момента. Но помня, че преди време, като се заигравах с това и бачкаше и беше свободно. Едно приятелче има проект в училище и са му казали да ползва Гого. А сроковете дето им поставят са безумни.
За радост, алтернативи има. Изобщо, с тези API-та е голяма играчка въпреки, че има много полезни услуги. Някои неща не са описани подробно, как стават, какво ти трябва за да работи и прочее. Като след десет минути опити например, се оказа, че ключа, който съм си извадил за проба, не работи с hpps - трьбва да си платя. И го разбрах от отговора на заявката. Никъде не беше описано.

Благодаря!
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.