#permissions #feed #getstream-io
#разрешения #поток #getstream-io
Вопрос:
Я пытаюсь настроить демонстрацию, в которой пользователь может получать уведомления о том, что происходит в его рабочей области. Я сформировал эту модель с помощью типа потока уведомлений notification
и типа потока рабочей области flat
И пользователь, и рабочее пространство идентифицируются в мире getstream по их идентификаторам
Поток уведомлений пользователя следует за каналом workspace его workspaces. На стороне сервера:
const client = stream.connect(apiKey, secret, appId)
const feed = client.feed('notification', userId).follow('workspace', workspaceId, (r, e) => console.log("result: ", r, "error: ", e))
Затем в приложении я хочу подписаться на канал уведомлений, чтобы получать новые уведомления в режиме реального времени, а также извлекать последние 5 уведомлений, чтобы показывать их в раскрывающемся списке (facebook style):
const streamClient = stream.connect(apiKey, token, appId)
notificationFeed = streamClient.feed('notification', userId)
subscription = notificationFeed.subscribe(handleNewEvents)
notificationFeed.get.get({mark_seen: true, limit: 5})
Этот последний запрос get выдает ошибку 403:
{"detail":"You don't have permission to do this","status_code":403,"code":17,"exception":"NotAllowedException","duration":"0.10ms"}
в чем может быть причина?
Ответ №1:
вы видели руководство по этому вопросу? https://getstream.io/docs/#notification-system
Обратите внимание на шаг 3 и создание токена только для чтения. Этого не хватает?
Ответ №2:
Я сгенерировал новый токен клиента для приложения, и это исправило ошибку
Комментарии:
1. Я видел руководство, но не думал, что токен только для чтения может иметь какое-либо значение