#youtube-livestreaming-api
#youtube-прямая трансляция-api
Вопрос:
API потокового вещания YouTube имеет возможность запрещать и отменять запрет пользователя на чат и предоставляет следующий метод специально для выполнения отмены запрета:
https://developers.google.com/youtube/v3/live/docs/liveChatBans/delete
API требует, чтобы вы передали параметр id, который идентифицирует запрет чата для удаления, и указывает, что значение однозначно идентифицирует как запрет, так и чат. Однако не существует никакого способа поиска запретов на чат для канала, кроме как когда вы получаете идентификатор обратно изначально, когда происходит запрет.
Итак, нет ли способа отменить запрет пользователя через API спустя долгое время после того, как запрет произошел, и у вас больше нет идентификатора запрета?
Ответ №1:
На самом деле, LiveChatBanId — это строка в кодировке base64, содержащая
- идентификатор канала запрещенного пользователя
- идентификатор канала владельца
- несколько случайных байтов?
Вот некоторый код python, который сгенерирует его для вас
import base64
banned_user_id = 'banned user id'
owner_channel_id = 'channel owner id'
decoded = f"x08x01x12x18{banned_user_id}x1a8nrnx0b7cHT2DHCA7s*'nx18{owner_channel_id}x12x0b7cHT2DHCA7s".encode('utf-8')
encoded = base64.b64encode(decoded)
print(encoded)
Заполните banned_user_id и owner_channel_id
Возможно, вам потребуется дважды вызвать метод «LiveChatBans: удалить», вот как работает Google