Skip to content
/ vk-sh Public

Shell-скрипты для автоматизации действий ВКонтакте.

License

Notifications You must be signed in to change notification settings

gusenov/vk-sh

Repository files navigation

Shell-скрипты для создания фотоальбома в группе

Скрипт для создания нового фотоальбома в группе через API использующийся на веб-страницах ВКонтакте.

Зависимости: curl, pcregrep

Входные данные:

Длинная опция Короткая опция Описание
--group_id -g Идентификатор группы в которой нужно создать новый фотоальбом.
--title -t Заголовок для нового фотоальбома.
--remixsid -r Значение cookie-параметра remixsid. Нужно для доступа.

Выходные данные:

Если всё в порядке, то скрипт выводит с помощью команды echo идентификатор созданного фотоальбома:

$ ./web-photos-new-album.sh --group_id=123456789 --title="Название" --remixsid=56d6e73gd04118606eed8f9f7899g487fd17dfd82bf80c43e565b
247709439
$ ./web-photos-new-album.sh -g=123456789 -t="Название" -r=56d6e73gd04118606eed8f9f7899g490fd17dfd82bf80c43e565b
247709498

В случае ошибок скрипт осуществляет пустой вывод:

$ ./web-photos-new-album.sh -g=987654321 -t="Название" -r=56d6e73gd04118606eed8f9f7800g490fd17dfd82bf80c43e565b

Скрипт для создания нового фотоальбома в группе через официально предоставляемый API ВКонтакте.

Зависимости: curl, jq, sponge

Входные данные:

Длинная опция Короткая опция Описание
--group_id -g Идентификатор группы в которой нужно создать новый фотоальбом.
--title -t Заголовок для нового фотоальбома.
--description -d Описание для нового фотоальбома.
--access -a Ключ доступа - токен.
--output -o Имя результирующего файла или путь к нему.
--interval -i Тайм-аут между обращениями к API ВКонтакте.

Выходные данные:

Выходные данные добавляются в указанный JSON-файл. Это обязательно должен быть файл в формате JSON.

$ ./api-photos-create-album.sh --title="Название" --description="Описание" --group_id=123456789 --output="VKontakte-albums.json" --interval=5 --access=51eff86578a3bbbcb5c7043a122a69fd04dca057ac821dd7afd7c2d8e35b60172d45a26599c08034cc40a
$ cat VKontakte-albums.json
{
  "Название": {
    "response": {                                                                                                                 
      "aid": 247721602,                                                                                                           
      "thumb_id": 0,                                                                                                              
      "owner_id": -123456789,
      "title": "Название",
      "description": "Описание",
      "created": 1503416055,
      "updated": 1503416055,
      "privacy": null,
      "comment_privacy": null,
      "size": 0,
      "can_upload": 1
    }
  }
}

В результате aid - это идентификатор нового альбома, а owner_id будет таким же как и аргумент переданный через опцию --group_id (или -g, если в коротком в варианте). Новый альбом будет доступен по адресу https://vk.com/album-123456789_247721602.

Вопросы и ответы

Как получить токен ВКонтакте?

Откройте новую вкладку в браузере и введите в адресную строку следующий URL:

https://oauth.vk.com/authorize?client_id=5791134&display=page&redirect_uri=https://oauth.vk.com/blank.html&scope=photos&response_type=token&v=5.52

Число 5791134 в запросе - это API_ID приложения vk-sh.

Нажмите Enter. Откроется окно с запросом прав. В нем отображаются название приложения, иконки прав доступа, и ваши имя с фамилией.

Нажмите «Разрешить». Вы попадёте на новую страницу с предупреждением о том, что токен нельзя копировать и передавать третьим лицам. В адресной строке будет URL https://oauth.vk.com/blank.html, а после # вы увидите дополнительные параметры — access_token, expires_in и user_id. Токен может выглядеть, например, так:

51eff86578a3bbbcb5c7043a122a69fd04dca057ac821dd7afd7c2d8e35b60172d45a26599c08034cc40a

Токен — это ваш ключ доступа. При выполнении определенных условий человек, получивший ваш токен, может нанести существенный ущерб вашим данным и данным других людей. Поэтому очень важно не передавать свой токен третьим лицам.

Поле expires_in содержит время жизни токена в секундах. 86400 секунд — это ровно сутки. Через сутки полученный токен перестанет действовать, для продолжения работы нужно будет получить новый. Есть возможность получить токен без срока действия — для этого в scope добавьте значение offline. Вы можете принудительно отозвать токен (например, в том случае, если он стал известен постороннему), сбросив сеансы в настройках безопасности вашего аккаунта или сменив пароль. Также, если речь идет о токене не из вашего собственного приложения, можно просто удалить приложение из настроек.

Поле user_id содержит id пользователя, для которого получен токен.

Ссылки

ВКонтакте:

Bash:

cURL:

Регулярные выражения:

Releases

No releases published

Packages

No packages published

Languages