您可以将getstream.io js客户端与react native一起使用,而不是react-native-activity-feed吗?

时间:2019-11-19 17:54:53

标签: javascript react-native getstream-io

Hi 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方面拥有更大的灵活性。

1 个答案:

答案 0 :(得分:0)

使用用户令牌时,请确保致电const id = admin.firestore().collection('users').get() .then(function(querySnapshot) { querySnapshot.forEach(function(doc) { console.log(doc.id, ' => ', doc.data()); }); }) .catch(function(error) { console.log('Error getting documents: ', error); });

setUser

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