2016-03-03 2 views
5

Я пытаюсь получить данные GPS из приложения Waze, используя rest-client lib. Я в основном пытаюсь подделать логин через сайт https://www.waze.com/. После входа в систему (вы можете использовать JohnDoeSpeedy228: gre @ tStory92), когда вы посещаете https://www.waze.com/editor/, нажмите «Диски» после просмотра сетевых вызовов, которые вы увидите, чтобы увидеть исходные данные JSON.Как получить данные GPS от Waze с клиентом rest?

Я, кажется, успешно вошли в систему, но при выполнении запроса, чтобы вернуть список всех моих дисков, которые он возвращает следующее

{"users"=>{"objects"=>[]}, "archives"=>{"totalSessions"=>0, "objects"=>[]}} 

Она должна возвращать что-то вроде этого:

{ 
    "users":{ 
     "objects":[ 

     ] 
    }, 
    "archives":{ 
     "totalSessions":1, 
     "objects":[ 
     { 
      "id":<REDACTED>, 
      "userID":<REDACTED>, 
      "existingRoadMeters":2839, 
      "newRoadMeters":0, 
      "totalRoadMeters":2839, 
      "startTime":1456996197000, 
      "endTime":1456996636000, 
      "hasFullSession":true 
     } 
     ] 
    } 
} 

Вот что я пытаюсь:

require 'rest-client' 
require 'json' 

GET_CSRF_URL = "https://www.waze.com/login/get" 
SESSION_URL = "https://www.waze.com/login/create" 
SESSION_LIST_URL = "https://www.waze.com/Descartes-live/app/Archive/List" 
SESSON_DATA_URL = "https://www.waze.com/Descartes-live/app/Archive/Session" 
AUTH = {'user_id'=>'JohnDoeSpeedy228','password'=>'[email protected]'} 

req = RestClient.get(GET_CSRF_URL) 
csrfhash = req.cookies 
csrfhash['editor_env'] = 'row' 
headers = {'X-CSRF-Token'=>csrfhash['_csrf_token']} 

log = RestClient::Request.execute(
    method: :post, 
    url: SESSION_URL, 
    cookies: csrfhash, 
    headers: headers, 
    payload: AUTH 
) 

ses = RestClient::Request.execute(
    method: :get, 
    url: SESSION_LIST_URL, 
    cookies: log.cookies, 
    payload: {'minDistance'=>1000,'count'=>50, 'offset'=>0} 
) 

puts JSON.parse(ses) 

Я что-то не так?

ответ

1

Я предполагаю, что вы вводите в заблуждение две учетные записи. Вы уверены, что вы вошли в систему с именем JohnDoeSpeedy228? Если после входа в сайт нет сеансов от этого пользователя, я бы не ожидал, что код будет работать.

Мы не можем найти ни одного вашего устройства.

Вы уже начали ездить с помощью приложения Waze? Если да, убедитесь, что вы вошли в Редактор карт с теми же учетными данными, которые вы используете в приложении.

+0

100% без путаницы двух учетных записей. – narzero

+0

Да, но я хочу сказать, что если вы не регистрируете поездки, когда вы входите в систему вручную, почему вы ожидаете, что REST API вернет их? –

+0

Есть три записанных поездки. – narzero