Dialogflow es 如何在Dialogflow/Slack integration中识别空闲用户名(而不是ID)?

Dialogflow es 如何在Dialogflow/Slack integration中识别空闲用户名(而不是ID)?,dialogflow-es,slack-api,Dialogflow Es,Slack Api,当我通过Google Assistant或Google Home访问Dialogflow应用程序时,我可以轻松访问(Google)用户名/电子邮件等。当我通过Slack(Dialogflow/Slack integration)访问应用程序时,如何获取Slack用户名和频道 我知道呼叫何时起源于Slack(source)。我可以识别渠道、团队和用户ID(松弛编码)。我需要找到ID的含义,即用户的姓名。下面的代码运行良好: const src = (JSON.stringify(request.b

当我通过Google Assistant或Google Home访问Dialogflow应用程序时,我可以轻松访问(Google)用户名/电子邮件等。当我通过Slack(Dialogflow/Slack integration)访问应用程序时,如何获取Slack用户名和频道

我知道呼叫何时起源于Slack(source)。我可以识别渠道、团队和用户ID(松弛编码)。我需要找到ID的含义,即用户的姓名。下面的代码运行良好:

const src = (JSON.stringify(request.body.originalDetectIntentRequest.source));
if (src == "slack") {
  const p_team = (JSON.stringify(request.body.originalDetectIntentRequest.payload.data.event.team));
  const p_user = (JSON.stringify(request.body.originalDetectIntentRequest.payload.data.event.user));
  const p_channel = (JSON.stringify(request.body.originalDetectIntentRequest.payload.data.event.channel));
}
if (src == "google") {
...
}
...

我获得了“p_团队”、“p_用户”和“p_频道”的松弛编码ID。如何找到它们的真实名称?

要从它们的ID中解析松弛实体的名称,需要调用相应的API列表方法。它将为您提供该类别的所有元素的列表。然后,您可以匹配ID以查找其名称:

  • 用户ID:
  • 频道ID:
对于团队名称,您可以使用相应的Slack令牌进行调用。

使用“机器人用户OAuth访问令牌”,在“OAuth和权限选项卡”中的格式为xoxb-xxxxx-xxxxx。然后在“机器人令牌范围”中添加范围“conversations.list,users.list,users.read”,然后在Slack中重新安装您的应用程序。 然后尝试从API调用中获取用户详细信息,而users:read在slack中不可用。但您可以从代码中调用它,您的响应如下:
{“ok”:true,“user”:“id”:“XXXXXX”,“team_id”:“xxxxxxx”,“name”:“xxxxxxx”,“deleted”:false,“color”:“xxxxx”,“real_name”:“XXXXXX”,“tz”:“,”,还有一些字段。}}

好的,我试试这个。Tnks!然后尝试得到…?看起来你的一句话被无意中截断了。你能编辑你的回答吗?