Browse Source

написал, как создать опознаки для вк #48

pull/48/head
Anton 2 years ago
parent
commit
5a074ccb69
  1. 52
      README.md

52
README.md

@ -1,6 +1,6 @@
# Описание
Приложение для автопостинга содержимого со ссылкой в социальные сети.
Приложение для автопостинга содержимого со ссылкой в социальные сети.
Приложение реализовано на Django 4.1.
На данный момент реализован автопостинг в ВКонтакте, Одноклассники и телеграм.
Автопостинг на уровне архитектуры реализован с помощью класса "Маркетолог" cms.promoters.Marketer.
@ -16,30 +16,36 @@
4. Выбираем тип приложения "Пользовательское".
5. Ставим галочку "Пользовательское"
6. Заполняем описание.
7. Нажимаем "Добавить платформу".
7. Нажимаем "Добавить платформу".
8. Выбираем OAuth.
9. В списке разрешённых redirect_uri указываем URL вашего сайта, откуда будете производить кросспостинг,
например, https://mirocod.ru
9. В списке разрешённых redirect_uri указываем URL вашего сайта, откуда будете производить кросспостинг,
например, https://mirocod.ru
10. Ставим галочку "Разрешить клиентскую OAuth авторизацию".
11. Выставляем права:
* Доступ к личной информации через OAuth (VALUABLE_ACCESS): Опционально
* Получение длинных токенов OAuth (LONG_ACCESS_TOKEN): Опционально
* Установка статуса (SET_STATUS): Не используется
* Изменение фотографий и фотоальбомов (PHOTO_CONTENT): Не используется
* Управление группами (GROUP_CONTENT): Обязательно
11. Нажмите "Сохранить".
12. Вам на почту придут ключи.
12. Вам на почту придут ключи.
13. Нажмите на кнопку "Получить новый" рядом с надписью "Вечный access_token".
14. Скопируйте значение "Вечный access_token" в .env-файл в корне вашего приложения, в качестве значения OK_ACCESS_TOKEN:
15. Вставьте их в .env-файл в корне вашего приложения:
* Публичный ключ приложения - в качестве значения OK_APPLICATION_KEY
* Секретный ключ приложения - в качестве значения OK_APPLICATION_SECRET_KEY
## Настраиваем доступ к ВКонтакте
1. Укажите логин, ваш email, под которым вы авторизуетесь в ВК, в качестве значения VK_LOGIN
2. Укажите пароль, в качестве значения VK_PASSWORD
3. Укажите ид группы, добавьте к нему минус в начале. Т.е. если № группы 7002, то нужно указать -7002, в качестве значения VK_OWNER_ID
1. Создайте приложение в ВК (standalone). Укажите в приложении сообщество
2. Скопируйте ссылку ниже, укажите ID приложения. Вставьте ссылку в адресную строку браузере, нажмите Enter
https://oauth.vk.com/authorize?client\_id=**ID\_ПРИЛОЖЕНИЯ**&scope=wall,offline&redirect\_uri=http://api.vk.com/blank.html&display=page&response\_ENGINE=token
3. После этого в вашей адресной строке появится необходимый ключ. Он копируется вручную: после access\_token= и перед &expires\_in.
4. Укажите токен, в качестве значения VK_LOGIN
5. Укажите id сообщества со знаком «-», в качестве значения VK_OWNER_ID
## Настраиваем доступ к телеграм
@ -50,64 +56,80 @@
5. Добавьте бота в админы группы
6. Добавьте несколько тестовых сообщений в группу
7. Запустите команду:
```
python3.8 manage.py get_telegram_group_id
```
6. В результате будет выведен ид канала
7. Вставьте полученный ид в .env-файл, переменная TELEGRAM_CHAT_ID
### Возможные ошибки
7. Если будет ошибка, что "Нет обновлений", значит, нужно прислать больше сообщений в группу и быстрее запустить команду.
Возможно бот успевает прочитать обновления до вас.
7. Если будет ошибка, что "Нет обновлений", значит, нужно прислать больше сообщений в группу и быстрее запустить команду.
Возможно бот успевает прочитать обновления до вас.
# Задаём доступ к веб-интерфейсу
1. Зайдите по ssh на хостинг.
2. Зайдите по root.
3. Активируйте виртуальное окружение:
```shell
source /home/crossposting_env/bin/activate
```
4. Перейдите в папку проекта:
```shell
cd /var/www/crossposting/backend/current/
```
5. Запустите консоль django:
```shell
python3.8 manage.py shell
```
1. Выполните команду на python:
```python
from django.contrib.auth.models import User
```
2. Создайте пользователя, под которым будете авторизоваться. Укажите своё имя пользователя, электропочту и пароль:
```python
user = User.objects.create_user(username='user', email='user@mail.pro', password='123123123')
```
3. Выйти из консоли:
```python
quit()
```
# Шифруем .env-файл
1. По умолчанию настройка шифрования в crossposting_backend/private/settings.py ENV_ENCODED равна False. Это означает,
что .env-файл не шифрован.
1. По умолчанию настройка шифрования в crossposting_backend/private/settings.py ENV_ENCODED равна False. Это означает,
что .env-файл не шифрован.
2. Если нужно повысить защищённость данных, то шифруем .env-файл.
3. Если у вас уже зашифрован .env-файл, то на всякий случай создайте резервную копию этого файла.
3. Если у вас уже зашифрован .env-файл, то на всякий случай создайте резервную копию этого файла.
4. Далее создайте .env-файл и укажите незашифрованные доступы к социальным сетям.
5. В crossposting_backend/private/settings.py значение ENV_ENCODED д.б. False.
6. Перезапустите веб-приложение:
```shell
supervisorctl restart crossposting_django
```
7. Выполните команду для шифровки:
python3.8 manage.py encode_file
python3.8 manage.py encode_file
8. В результате будет создан файл .env.encoded
9. Замените .env созданным файлом .env.encoded
10. В crossposting_backend/private/settings.py значение ENV_ENCODED замените на True.
11. Перезапустите веб-приложение:
```shell
supervisorctl restart crossposting_django
```

Loading…
Cancel
Save