---
# System prepended metadata

title: 1c2i правки

---

---
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: ""
...

```

То есть, если ДО повторного получения фида воткнуть команду перезахода в аккаунт - всё работает нормально.