【问题标题】:Can you use the getstream.io js client with react native instead of react-native-activity-feed?您可以将 getstream.io js 客户端与 react native 一起使用而不是 react-native-activity-feed 吗?
【发布时间】:2026-02-05 16:05:01
【问题描述】:

嗨 getstream 社区,

我正在使用 react native 和 node.js 构建一个提要应用程序。我正在努力使用 getstream.io js 客户端添加活动,但我可以使用 react-native-activity-feed 的 <StatusUpdateForm/> 组件来完成。我的 js 客户端出现以下错误:

An error occured when submitting activity: Error: {"detail":"You don't have the permission to do this","status_code":403,"code":17,"exception":"NotAllowedException","duration":"0.16ms"} with HTTP status code 403

我已设置后端向我发送用户令牌并初始化用户提要:

      const streamClient = stream.connect(STREAM_KEY, STREAM_SECRET, STREAM_ID);
      gsToken = streamClient.createUserToken(decodedToken.user_id);
      streamClient.feed('user', decodedToken.user_id);

在前端,我使用 <StreaApp/><FlatFeed/> 呈现提要

我已设置发布屏幕以将新闻活动示例发送到提要:

    var client = stream.connect(config.stream.app.key, config.stream.app.token,  config.stream.app.id);
    var user_feed = client.feed('user', config.stream.app.userId);
    user_feed.addActivity({
      actor: config.stream.app.userId,
      tweet: 'Hello World I am finally here',
      verb: 'Tweet',
      object: 1
    })
      .then(function(data) { console.log('Activity Added! ' + data)})
      .catch(function(err) { console.log('An error occured when submitting activity: ' + err)});

旁注: 我想使用 js 客户端而不是 react-native 包,这样我可以在 UI 上拥有更大的灵活性。

【问题讨论】:

    标签: javascript react-native getstream-io


    【解决方案1】:

    使用用户令牌时,请务必致电setUser

    let feed = client.feed("user", "jack");
    await client.setUser({name: 'Jack'});
    
    await userFeed.addActivity({
      actor: client.currentUser,
      verb: "post",
      object: "my object",
    })
    

    这将填充 client.currentUser ,您可以将其用作参与者并将用户数据存储在参与者字段中。

    【讨论】:

      最近更新 更多