--- title: 1c2i правки --- # Получение homescreen (главной страницы приложения) Параметры: ```yaml "login" => "", "pagination" => "" ``` Запрос: ```yaml - command: get_homescreen args: login: c3331567__ uid: get_homescreen1 ``` Ответ: ```yaml get_homescreen1: status: 1 data: pagination: ~ items: - id: "2147615840602943422_787132" timestamp: "1570235780" user: id: "787132" username: natgeo is_private: false #<...> - id: "2147244489484756343_21871385795" timestamp: "1570191511" user: id: "21871385795" username: c3331567 is_private: false ``` # Установка аватарки Параметры: ```yaml "login" => "", "file_url" => "", ``` Запрос: ```yaml - command: set_avatar args: login: c3331567 file_url: https://www.thechunkychef.com/wp-content/uploads/2019/08/Crockpot-Crack-Chicken-Pasta-spoon-680x454.jpg uid: ava1 ``` Ответ: ```yaml ava1: status: 1 data: "" ``` [Результат](https://www.instagram.com/c3331567/) # Установка био Параметры: ```yaml "login" => "", "bio" => "", ``` Запрос: ```yaml - command: set_bio args: login: c3331567 bio: biobiobio uid: bio1 ``` Ответ: ```yaml bio1: status: 1 data: "" ``` [Результат](https://www.instagram.com/c3331567/) # Редактирование имени и т. д. Как я уже говорил, для редактирования имени нет конкретной функции. Есть функция, которая позволяет изменить любые данные пользователя, в том числе и имя. Полный список полей для изменения: ``` "url" => $user->getExternalUrl(), "phone" => $user->getPhoneNumber(), "name" => $user->getFullName(), "bio" => $user->getBiography(), "email" => $user->getEmail(), "gender" => $user->getGender(), "username" => $user->getUsername() ``` То есть, вы можете изменить биографию как через set_bio, так и через эту функцию. Параметры: ```yaml "login" => "", "field" => "", "value" => "", ``` Запрос: ```yaml - command: set_profile_field args: login: c3331567 field: name value: Full Name (new value) uid: profile_field ``` Ответ: ```yaml profile_field: status: 1 data: "" ``` [Результат](https://www.instagram.com/c3331567/) # Баги По timestamp — исправил. Дело было в том, что я использовал `getDeviceTimestamp()` (так и не понял, что это такое). А надо было `getTakenAt()`. Что касается постов - вопрос, на самом деле, хороший. Сходу у меня не вышло разобраться. Проблема не в какой-то ошибке в коде, а в самой логике работы инстаграмовского API. Смотрите: Очередь: ```yaml --- commands_queque: - command: login args: login: c3331567 password: c33315671 uid: login_1 - command: my_feed args: login: c3331567 uid: feed_1 - command: upload_photo args: login: c3331567 file_url: https://rukminim1.flixcart.com/image/704/704/stuffed-toy/g/2/q/combo-of-i-love-you-pink-ballon-heart-teddy-36-cm-i-love-you-original-imaeq7gfazymgyzy.jpeg?q=70 uid: upload_1 - command: my_feed args: login: c3331567 uid: feed_2 ... ``` Результат: ```yaml --- --- login_1: status: 1 data: "" profile_field: status: 1 data: "" feed_1: status: 1 data: pagination: ~ items: - id: "2147703187587869586_21871385795" timestamp: "1570246192" - id: "2147478532846807933_1516824713" timestamp: "1570219411" - id: "2147615840602943422_787132" timestamp: "1570235780" - id: "2145775068622393197_194697262" timestamp: "1570016343" - id: "2147244489484756343_21871385795" timestamp: "1570191511" feed_2: status: 1 data: pagination: ~ items: - id: "2147703187587869586_21871385795" timestamp: "1570246192" - id: "2147478532846807933_1516824713" timestamp: "1570219411" - id: "2147615840602943422_787132" timestamp: "1570235780" - id: "2145775068622393197_194697262" timestamp: "1570016343" - id: "2147244489484756343_21871385795" timestamp: "1570191511" upload_1: status: 1 data: "" ... ``` Ваши жалобы подтверждаются - 5 постов вернуло в первый раз, 5 постов во второй. Если смотреть на полный ответ инстаграма: [тык](http://i.imgur.com/aSwFj1H.png) Как вы можете видеть, 5 результатов сервер вернул в обоих запросах. При этом, если перезапустить скрипт, всё будет ок. Видимо, он эту информацию зачем-то кэширует. При этом, я обратил внимание, что если перезапустить скрипт, то информация обновляется. **Это привело к следующему решению** ```yaml --- commands_queque: - command: login args: login: c3331567 password: c33315671 uid: login_1 - command: my_feed args: login: c3331567 uid: feed_1 - command: upload_photo args: login: c3331567 file_url: https://rukminim1.flixcart.com/image/704/704/stuffed-toy/g/2/q/combo-of-i-love-you-pink-ballon-heart-teddy-36-cm-i-love-you-original-imaeq7gfazymgyzy.jpeg?q=70 uid: upload_1 - command: login args: login: c3331567 password: c33315671 uid: login_2 - command: my_feed args: login: c3331567 uid: feed_2 ... ``` ```yaml --- login_1: status: 1 data: "" profile_field: status: 1 data: "" feed_1: status: 1 data: pagination: ~ items: - id: "2147706831011894171_21871385795" timestamp: "1570246627" - id: "2147705255178384877_21871385795" timestamp: "1570246439" - id: "2147478532846807933_1516824713" timestamp: "1570219411" - id: "2147615840602943422_787132" timestamp: "1570235780" - id: "2147703187587869586_21871385795" timestamp: "1570246192" - id: "2145775068622393197_194697262" timestamp: "1570016343" - id: "2147244489484756343_21871385795" timestamp: "1570191511" feed_2: status: 1 data: pagination: ~ items: - id: "2147706868811122822_21871385795" timestamp: "1570246631" - id: "2147706831011894171_21871385795" timestamp: "1570246627" - id: "2147705255178384877_21871385795" timestamp: "1570246439" - id: "2147478532846807933_1516824713" timestamp: "1570219411" - id: "2147615840602943422_787132" timestamp: "1570235780" - id: "2147703187587869586_21871385795" timestamp: "1570246192" - id: "2145775068622393197_194697262" timestamp: "1570016343" - id: "2147244489484756343_21871385795" timestamp: "1570191511" upload_1: status: 1 data: "" login_2: status: 1 data: "" ... ``` То есть, если ДО повторного получения фида воткнуть команду перезахода в аккаунт - всё работает нормально.