Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.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 Facebook聊天机器人和身份验证_Node.js_Facebook_Facebook Graph Api_Passport.js_Facebook Chatbot - Fatal编程技术网

Node.js Facebook聊天机器人和身份验证

Node.js Facebook聊天机器人和身份验证,node.js,facebook,facebook-graph-api,passport.js,facebook-chatbot,Node.js,Facebook,Facebook Graph Api,Passport.js,Facebook Chatbot,我有一个应用程序,用户可以使用Facebook登录。我有用户的身份验证令牌,有效期为30天。我在用护照。目前,我需要绝对最小的权限(仅限电子邮件),这样我的auth应用程序就不需要验证 现在。。。我需要编写一个聊天机器人,它偶尔会给经过身份验证的用户写信。因此,机器人需要启动对话。它实际上是用户感兴趣的通知 鉴于我知道如何编写聊天机器人本身,我想知道。。。这样做可能吗 如果不可能,是否可以通过比较某个登录用户的Facebook用户ID来“链接”我的机器人并与之聊天?(恐怕不行,因为Faceboo

我有一个应用程序,用户可以使用Facebook登录。我有用户的身份验证令牌,有效期为30天。我在用护照。目前,我需要绝对最小的权限(仅限电子邮件),这样我的auth应用程序就不需要验证

现在。。。我需要编写一个聊天机器人,它偶尔会给经过身份验证的用户写信。因此,机器人需要启动对话。它实际上是用户感兴趣的通知

鉴于我知道如何编写聊天机器人本身,我想知道。。。这样做可能吗

如果不可能,是否可以通过比较某个登录用户的Facebook用户ID来“链接”我的机器人并与之聊天?(恐怕不行,因为Facebook用户ID似乎是应用程序的范围!)

1)为了可靠地向用户发送消息,而不受用户交互的影响,您需要FB的订阅消息权限,FB目前正处于限制测试阶段。

仅限于来自新闻、个人跟踪器和生产力类别应用程序的非广告消息。如果您的机器人属于这些类别中的一个,您就有可能获得执行所需操作的权限

如果没有,您仍然可以向用户发送通知,但每次都需要获得他们的响应(按下按钮,文本响应),以获得标准消息24小时限制之外的另一条消息。这些信息可以是促销信息

2)要在您拥有另一个应用程序或页面的用户id时获取用户的页面范围id,请使用id匹配API。

您必须创建一个FB业务帐户(如果您还没有),并将您的应用程序和页面与该业务关联,请遵循中的指南

要获取您的企业帐户拥有的页面的所有页面范围id,当您拥有用户的应用程序id(例如,来自FB登录)时,您将向Graph API发出以下请求:

GET /{user-id}/ids_for_pages
    ?access_token=[app_access_token]
    &appsecret_proof=[appsecret_proof]
您将收到如下响应,其中包含您的业务帐户拥有的每个页面的指定用户的页面范围id:

"data": [
      {
        "id": "12345123", // The psid for the user for that page
        "page": {
          "category": "Musician",
          "link": "https://www.facebook.com/Johns-Next-Great-Thing-380374449010653/",
          "name": "John's Next Great Thing",
          "id": "380374449010653"
        }
      }
    ]
-“特定用例的订阅消息传递(测试版)”