Испытывая функции getstream.io chat для существующего сайта, я обнаружил несколько вещей, которые не совсем понятны в документации.
Чтобы инициировать новый "частный" канал с помощьюограниченное количество членов, можно вызвать client.channel (). create () со списком идентификаторов членов .
Это работает, как толькоидентификаторы пользователей были замечены потоком раньше. Редактировать: ошибка, которую я получаю при попытке создать канал с идентификаторами участников:
Сбой GetOrCreateChannel с ошибкой: «Следующие пользователи указаны в channel.members, но не существуют: [2924820248]. Пожалуйста, создайте пользовательские объекты перед настройкой канала.
Поскольку веб-сайт (и пользователи) существовал до введения getstream, я хотел бы зарегистрировать всех существующих пользователей с помощью getstream.
И это, кажется, поддерживается через конечную точку пользовательского API или через python sdk users.add.
Обновление: очевидно, даже вызывая users.add нене решают проблему: /
Остальное почти не имеет значения в данный момент ... но уезжать сюда для потомков ...
К сожалению, звонки users.add, кажется, возвращают 502, нетнезависимо от того, что я передаю в качестве аргументов. Кажется, что авторизация (API_KEY и API_KEY_SECRET) правильная, как будто я удаляю / изменяю их, вместо этого получен отказ в разрешении.
Я пытаюсьd передавая другое местоположение (us-east, eu-west, dublin или вообще ничего) и вызывая эти конечные точки API напрямую, но безрезультатно.
Я также пытался использовать аргумент данных или без него,но, похоже, не имеет никакого значения.
Как использовать этот users.add?
Код Python:
import stream
client = stream.connect(api_key=STREAM_API_KEY, api_secret=STREAM_API_KEY_SECRET, location='us-east')
client.users.add('my-user-id', {'name': 'Bob'})
curl:
curl -H "Content-Type: application/json" -H "Authorization: AUTH_STRING" -H "stream-auth-type: jwt" -d '{"id": "my-user-id", "data": {"name": "Bob"}}' "https://api.stream-io-api.com/api/v1.0/user/?api_key=API_KEY"
ответ:
HTTP/2 502
date: Sun, 03 Nov 2019 14:51:56 GMT
content-length: 0
server: nginx
access-control-allow-origin: *
x-ratelimit-limit: 1000
x-ratelimit-remaining: 998
x-ratelimit-reset: 1572792720
Редактировать: Кажется, что-то определенно не так с самим потоком, так как создание другого приложения в их приборной панели и попытка с различными ключами, связанными с этим новым приложением, кажется, работает нормально иверните 201 вместо 502 (ничего не изменив в коде).
Регион / местоположение проблемного приложения отображается на панели инструментов как «dublin», и это приложение было создано как приложение «разработки», но я изменил его на приложение prod после того, как узнал, что рабочее было создано как prod. Но все равно не повезло. Не могу понять, что не так с настройками / настройками приложения. На данный момент я не могу сделать намного больше, не обратившись непосредственно к их поддержке.
Дальнейшее обновление: похоже, что все приложения, которые я создаю на eu-west, возвращают 502, тогда как все восточные страны работают просто отлично. В ожидании потока, чтобы вернуться ко мне