Я пытаюсь получить данные 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)
Я что-то не так?
100% без путаницы двух учетных записей. – narzero
Да, но я хочу сказать, что если вы не регистрируете поездки, когда вы входите в систему вручную, почему вы ожидаете, что REST API вернет их? –
Есть три записанных поездки. – narzero