Tôi đang cố gắng lấy dữ liệu GPS của mình từ ứng dụng Waze bằng cách sử dụng thư viện rest-client. Tôi đang cố gắng giả mạo thông tin đăng nhập qua trang web https://www.waze.com/. Sau khi đăng nhập (bạn có thể sử dụng JohnDoeSpeedy228: gre @ tStory92) khi bạn truy cập https://www.waze.com/editor/, nhấp vào "Drives" sau khi xem xét các cuộc gọi mạng bạn sẽ nhận được để xem dữ liệu JSON thô.Làm thế nào để nhận dữ liệu GPS từ Waze với phần còn lại của khách hàng?
tôi dường như đã thành công đăng nhập nhưng khi đưa ra yêu cầu phải trả lại danh sách tất cả các ổ đĩa của tôi nó trả về sau
{"users"=>{"objects"=>[]}, "archives"=>{"totalSessions"=>0, "objects"=>[]}}
Nó sẽ trả về một cái gì đó như thế này:
{
"users":{
"objects":[
]
},
"archives":{
"totalSessions":1,
"objects":[
{
"id":<REDACTED>,
"userID":<REDACTED>,
"existingRoadMeters":2839,
"newRoadMeters":0,
"totalRoadMeters":2839,
"startTime":1456996197000,
"endTime":1456996636000,
"hasFullSession":true
}
]
}
}
Dưới đây là những gì tôi đang cố gắng:
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)
Tôi có làm gì sai không?
100% không có sự nhầm lẫn của hai tài khoản. – narzero
Có, nhưng quan điểm của tôi là nếu không có chuyến đi được ghi lại khi bạn đăng nhập theo cách thủ công, tại sao bạn mong đợi API REST trả lại chúng? –
Có ba chuyến đi được ghi lại. – narzero