首页 > 解决方案 > 如何获取 ownReactions 的反应和子反应?

问题描述

我想检查用户之前是否已经喜欢过活动/评论,所以我想获得用户对活动的喜欢,或者用户对评论的喜欢。但是,这会填充对活动/评论的所有反应,而不是仅过滤用户的反应。

client.feed('user', 'Amy').get({ withReactionCounts: true, withOwnReactions: true })

我已经尝试过在 Github 项目上评论的解决方法,并尝试根据这个问题来玩弄两者withOwnReactions,但无济于事。ownReactions

我目前安装了stream-jsv7.2.11。

谢谢!

标签: javascriptnode.jstypescriptgetstream-io

解决方案


参数应该是reactions.ownreactions.counts

client.feed('user', 'Amy').get({reactions: {own: true, counts: true})

如果您正在进行服务器端调用,您需要做的另一件事是确保您使用您希望看到自己的反应的用户的用户令牌调用它,否则它将为您提供一切,因为客户端不会不知道“拥有”指的是谁。

//Create the server side client
const serverClient = stream.connect(
  'abcde12345',
  'somereallylongandverysecretapikeythatyoushouldnotshareonstackoverflow',
  '123456');

//Create the user specific token
const userToken = serverClient.createUserToken('Amy');

//Create the user specific client
const userClient = stream.connect('abcde12345', userToken, '123456');

现在您应该能够从您的提要中获取数据,其中own_reactions仅填充了您指定的用户的数据。

userClient.feed('user', 'Amy').get({reactions: {own: true, counts: true})

另一个问题是,如果您创建了 Stream 创建的默认提要组以外的新提要组,那么您还需要向 Stream 的支持团队发送电子邮件,要求他们将权限更改为“全局读取”,否则您将收到 403 错误. 似乎没有任何方法可以通过他们的控制台来做到这一点。用户提要组默认设置为全局读取,但新提要组设置为私有。他们的支持非常有帮助,并在不到一个小时内为我解决了问题。


推荐阅读