2017-10-17 11 views
0

NodeRed가 webhook을 사용하여 대화식 메시지를 슬랙 응용 프로그램에 보내서 뭔가 활성화 할 수있는 권한을 요청하도록하려고합니다. 내 커스텀 노드에서 문제없이 webhook으로 POST 할 수 있지만 회신은 어떻게 받습니까?NodeRed : Slack app 대화 형 메시지에서 회신을 얻는 방법

"http in"노드를 사용하여 슬랙에서 사용할 수있는 끝점을 만들 필요가 있습니까? 메시지를 POST하는 노드에서 처리하는 방법이 있습니까?

또한 NodeRed를 로컬에서 실행하고 있습니다. Slack이 http endpoint에 접근 할 수 있도록 ngrok를 사용할 수 있습니까?

답변

1

oAuth를 수행해야하는 노드가 콜백을 처리하는 방식은 사용자 정의 노드에 대한 고유 한 HTTP 끝점을 정의 할 수 있습니다. 또한 직렬 포트 노드와 같은 노드는 구성 대화 상자에 정보를 제공하기 위해이 작업을 수행합니다.

다른 노드와 충돌하지 않도록 끝점에 고유 한 경로를 지정해야합니다.

당신은 당신이 그 노드 RED 안전하게 별도의 질문을해야합니다 인터넷에서 액세스 가능하게되어 있는지 확인하는 방법 직렬 포트 노드 here

의 소스를 볼 수 있습니다.

+0

이 예제를 사용하면 어떻게 그 끝점을 호출 할 수 있습니까? localhost : 1880/serialports (또는 ngrok-link-here/serialports)를 사용 하시겠습니까? – user2993349

+0

yes, settings.js에서 admin 경로를 변경하지 않았다면 "http : // hostname : 1880/serialports"가됩니다. – hardillb

1

1) 예, ngrok는 로컬 웹 서버를 인터넷과 슬랙에 안전하게 노출시키는 데 적합합니다. 나는 슬랙 앱 개발을 위해 매일 그것을 사용한다. 인터넷에서 앱에 연결할 수없는 경우 슬랙이 앱에 도달 할 수 없다는 점을 명심하십시오.

2) 대화식 메시지는 Slack apps에서만 작동합니다. 한 가지 이유는 앱에 대한 경로를 제공해야하기 때문에 슬랙은 누군가가 대화 형 메시지 (예 : 버튼 클릭)를 사용할 때 요청을 보낼 위치를 알고 있기 때문입니다. 그러나 동일한 슬랙 앱 내에서 둘 다 설정되어있는 한 웹 훅으로 대화 형 메시지를 사용할 수 있습니다.

3) "http-in 노드"접근 방식이 효과가 있다고 생각하지 마십시오. 슬랙 appp에서 Slack으로부터 메시지를 받기 위해 앱으로가는 경로를 설정해야합니다.