Getstream получает ошибку 403 NotAllowedException при получении канала

#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. Я видел руководство, но не думал, что токен только для чтения может иметь какое-либо значение