Created
April 8, 2016 19:10
-
-
Save spacegangster/f4e6f71e090c523137e413e58c64659d to your computer and use it in GitHub Desktop.
Партизанские запросы к Огниву
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Первым делом нужно получить куку ring-session | |
// Выполните запрос вида: | |
var auth_response = $.post('/user/signin', {username: "test", password: "test"}); | |
// Придёт JSON-ответ вида {status: "ok", redirect_url: null}. | |
// Кука будет содержаться в заголовках ответа. Дальнейшие запросы должны содержать эту куку. | |
// Далее нужно получить т.н. начальные данные: | |
var initial_data = $.get('/rest/firs') | |
// Начальные данные нормализованы и содержат в себе информацию по всем вашим записям и записям друзей доступным вам. По этой структуре можно гонять запросы, затем чтобы выловить нужные вам записи. Когда вы соберёте нужные вам записи, берите их айди и делайте запрос. | |
var entries = $.get('/rest/entries/1,2,3') | |
// Вместо 1,2,3 ставьте айди интересующих вас записей. | |
/** | |
* Как устроены начальные. Это JSON с тремя ключами: | |
* - `entries_data` | |
* - `friends_forests` | |
* - `user_forest` | |
* `entries_data` - хэш, где ключи это идентификаторы записей, а значения — данные по записям. | |
* Как вытянуть данные по всем задачам на языке JavaScript: | |
*/ | |
var entries_data_hash = initial_data.entries_data; | |
var entries_ids = Object.keys(entries_data_hash); | |
var entries = entries_ids.map(function(id) {return entries_data_hash[id]}); | |
function collect_task(coll, entry) { | |
if (entry.type === 1) { | |
coll.push(entry) | |
} | |
return coll; | |
} | |
var tasks_data = entries.reduce(collect_task, []); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment