Ruby on Rails 및 REST API를 사용하여 Microsoft Teams 봇 만들기
먼저 Azure 플랫폼에서 새 앱을 만드는 것부터 시작하겠습니다.
Azure 플랫폼에서 앱 만들기
그래서 우리는 봇 서비스를 만들 앱을 만들었습니다.
봇 서비스 생성
Azure Portal의 왼쪽 위 모서리에서 새 리소스 만들기 링크를 클릭한 다음 AI + Machine Learning > 웹앱 봇을 선택합니다.
범위: < 필수 범위 >
이 OAuth 설정은 봇이 MS Teams에서 작동하는 데 필요합니다.
REST API
이제 봇과 앱이 Azure 플랫폼에 설정되었으므로 작업할 준비가 되었습니다.
사용자 인증
사용자가 앱을 인증하기 위해서는 사용자가 로그인한 후 아래 링크로 앱을 인증해야 합니다.
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=YOUR_CLIENT_ID&scope=YOUR_SCOPE&redirect_uri=YOUR_REDIRECT_URI&response_type=code
봇 액세스 토큰
봇과 상호 작용하기 위해 액세스 토큰을 요청하려면 아래 요청을 사용하십시오. 응답 토큰은 Bearer 토큰입니다.
POST https://login.microsoftonline.com/botframework.com/oauth2/v2.0/token
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials&client_id=MICROSOFT-APP-ID&client_secret=MICROSOFT-APP-PASSWORD&scope=https://api.botframework.com/.default
응답:
{
"token_type":"Bearer",
"expires_in":3600,
"ext_expires_in":3600,
"access_token":"esadjnaskdnnaHs..."
}
대화 만들기
토큰을 받은 후 사용자와 대화를 만들 수 있습니다. 대화를 설정하려면 다음 요청을 사용하여 대화 ID를 가져오십시오.
POST < Service URL >/v3/conversations (https://smba.trafficmanager.net/in for teams)
{
"bot": {
"id": "YOUR_BOT_ID",
"name": "YOUR_BOT_NAME"
},
"members": [
{
"id": "USER_ID"
}
],
"channelData": {
"tenant": {
"id": "USERS_TENANT_ID"
}
}
}
응답:
{
"id":"a:1sdadaa.."
}
대화를 받은 후 활동에 POST 요청을 하여 아래와 같이 메시지를 보냅니다.
POST < Service URL>/v3/conversatoins/< Conversation id >/activities
{
"bot": {
"id": "YOUR_BOT_ID",
"name": "YOUR_BOT_NAME"
},
"members": [
{
"id": "USER_ID"
}
],
"channelData": {
"tenant": {
"id": "USERS_TENANT_ID"
}
}
}
대화에 회신:
다음 요청으로 대화에 회신하려면 초기 메시지의 매개 변수에서 사용자 ID, 봇 이름 및 사용자를 가져옵니다.
POST <ServiceURL>/v3 /conversations/{conversationId}/activities/{activityId}
Authorization Bearer "eysdsda.."
{
"type": "message",
"from": {"id": "< BOT_USER_ID>", "name": "<BOT_USER_NAME>"},
"conversation": {"id": "IlbyD8hQi5aGqAAz3qXfVp-5"},
"recipient": {"id": "<Receiver_user_id", "name": "<Receiver_user_name>"},
"text": "This is a reply message."
}
메시지 업데이트:
이미 보낸 메시지를 업데이트하려면 다음과 같이 요청하십시오. 초기 메시지 매개변수에서 replytoID를 얻을 수 있습니다.
PUT <ServiceURL>/v3 /conversations/{ReplytoID}
Authorization Bearer "eysdsda.."
{
"type": "message",
"text": "This message has been updated"
}
Teams에서 봇 테스트:
팀에서 봇을 테스트하려면 봇 서비스 만들기 섹션에 설명된 대로 Oauth 연결을 추가해야 합니다. 그런 다음 봇 앱 ID를 복사하고 해당 ID로 팀에서 새 대화를 시작할 수 있습니다. 이제 Teams에서 봇을 확인할 준비가 모두 완료되었습니다.
여기 있는 사람들은 기본 봇을 쉽게 만들고 ROR 응용 프로그램과 상호 작용할 수 있는 방법입니다. 질문이 있으시면 아래 의견에 남겨주십시오.
Reference
이 문제에 관하여(Ruby on Rails 및 REST API를 사용하여 Microsoft Teams 봇 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/heerthees/create-a-microsoft-teams-bot-with-ruby-on-rails-and-rest-api-21i7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)