尝试为 activity 表单添加反应时 GetStream.io 发生 InputException NodeJS

InputException Occuring in GetStream.io when tring to Add Reactions for an activity form NodeJS

当我尝试向 activity 添加反应时,它显示 user_id 不能为空的错误消息。根据文档,JS/NODE 示例代码中没有用于传递用户 ID 的字段。请帮忙

语言:节点 JS

使用的代码:

await client.reactions.add("like", activity.id );

也试过

await client.reactions.add("like", activity.id, "jack" );

响应:错误

详情:'{"detail":"Errors for fields \'user_id\'","status_code":400,"code":4,"exception":"InputException","exception_fields":{"user_id":["user_id is a required field"]},"duration":"0.16ms"} with HTTP status code 400' }

如果您的客户端是服务器端客户端(使用 api 密钥和 api 密码初始化),您需要在调用 reactions.add 时指定 user_id。如果您使用客户端集成(使用 api 密钥、用户令牌和 app_id 初始化),则不需要指定 user_id。

对于 serverisde,您的代码将是:

const userId = 'bob';
await client.reactions.add('like', activity.id, null, { userId });

对于客户端,您将拥有:

const token = srvClient.createUserToken('bob'); //srvClient is initialized with apiKey and apiSecret
const client = stream.connect(
    apiKey,
    token,
    appId,
);
await client.reactions.add('like', activity.id);