Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我是node.js和API的初学者';下面的代码会从user1向user2发送通知吗?_Node.js_Getstream Io - Fatal编程技术网

我是node.js和API的初学者';下面的代码会从user1向user2发送通知吗?

我是node.js和API的初学者';下面的代码会从user1向user2发送通知吗?,node.js,getstream-io,Node.js,Getstream Io,我是node.js和API的初学者,我遵循了getstream.io教程并编写了以下代码 下面的代码会从user1向user2发送通知吗 我如何确认这一成功发生 var stream = require('getstream'); // Instantiate a new client (server side) client = stream.connect('key', 'secret', '25553'); // creates token so user1 can read and wr

我是node.js和API的初学者,我遵循了getstream.io教程并编写了以下代码

下面的代码会从user1向user2发送通知吗

我如何确认这一成功发生

var stream = require('getstream');
// Instantiate a new client (server side)
client = stream.connect('key', 'secret', '25553');
// creates token so user1 can read and write
var token = client.feed('user', '1').token;
var user1 = client.feed('user', '1', token);

// Create a bit more complex activity
activity = {
    'name': 'Jack', 
    'location': {'type': 'point', 'coordinates': [37.769722,-122.476944]},
    'to' : ['notification:user2'] 
};

user1.addActivity(activity)
    .then(function(data) { /* on success */ })
    .catch(function(reason) { /* on failure */ });

// update the buyer status value for the activity
activity.name = 'James';

// send the update to the APIs
client.updateActivities([activity]);

//client side
//creates new client for reading
var client2 = stream.connect('key', null, '25553'); 

//creates read only token from sever client
var readonlyToken = client.feed('user', '1').getReadOnlyToken();

//user 2 gets read only token from user 1
var user2 = client2.feed('user', '1', readonlyToken);

//notification seen
user2.get({limit:5, mark_seen:true})
    .then(function(data) { /* on success */ })
    .catch(function(reason) { /* on failure */ });

如果这些代码都在后端,那么就不需要生成令牌。您只需要将令牌传递到前端客户端

对于客户端代码,您不需要这一行:

var readonlyToken = client.feed('user', '1').getReadOnlyToken();
正如在其他文章中提到的,您在后端生成只读令牌,然后将其传递到前端,这只适用于websocket到Stream的连接,其中您的供应非常有限(在我们的免费计划中只有500个连接)因此,通常我们建议后端提取提要并将活动数据发送到前端


最后,
mark\u seen
mark\u read
标志仅用于通知提要,您的代码正试图在您的
用户
提要上使用它,这是一个平面提要。

谢谢!只是想知道,如何将令牌从后端传递到前端?如何查看通过API发送的数据?后端可以响应来自前端的GET,并在有效负载中发回令牌。至于在API中查看数据,您可以使用仪表板上的资源管理器查看提要和其中的数据,还可以查看后续关系等。