AWS Lambda(python)에서 REST 호출하기 ~ 시도에 docomo 자연 대화 API에!

소개



오랫동안 익숙한 docomo 잡담 대화 API가 2018년 10월 말에 서비스 종료가 되었습니다.
서비스 개시 당시는, LINE의 뒤에 넣어 LINE BOT 만들어 놀고 있었습니다.

후속 서비스로 docomo 자연 대화 API가있는 것 같습니다.
htps : //에서 v. smt. 아무도. 네. jp/? p = cs. 아피. Page & Api _ Name = Nazura l_ Aa Gue & p_ Name = Api _4

모처럼이므로 AWS Lambda (python3.6)에서 API를 호출하고 싶습니다.

절차



첫회는 (1) 및 (2)가 필요하고, 조금 번거롭습니다.

(1) docomo developer support에 등록



(2) API 등록



API를 통해 사용자 등록을 하고 애플리케이션 ID를 얻어야 합니다.
이 절차는 약간의 코딩이 필요합니다.

lambda에 다음 코드를 넣고 핸들러 정보를 lambda_function.registration으로 설정하고 이동하면 응용 프로그램 ID를 얻을 수 있습니다.



그런 다음 애플리케이션 ID와 애플리케이션 키를 Lambda 환경 변수로 설정합시다.



(3) 이용



대화할 때는 핸들러를 lambda_function.main으로 사용해 보세요.

환경 변수의 메시지에 말하고 싶은 내용(「안녕하세요」등)을 써 테스트 버튼을 누르면・・・



메시지가 반환됩니다.

여러 가지 말을 걸어 봅시다!

코드



lambda_function.py
import requests
import json
import os

docom_app_id = os.environ['APP_ID']
docomo_api_key = os.environ['API_KEY']
docomo_endpoint_registration = 'https://api.apigw.smt.docomo.ne.jp/naturalChatting/v1/registration?APIKEY='+docomo_api_key
docomo_endpoint_dialog = 'https://api.apigw.smt.docomo.ne.jp/naturalChatting/v1/dialogue?APIKEY='+docomo_api_key

headers = {
    'Content-type': 'application/json;charset=UTF-8'
}

def registration(event, context):
    payload = {
        "botId": "Chatting",
        "appKind": "Smart Phone"
    }
    response = requests.post(
        docomo_endpoint_registration, 
        data=json.dumps(payload), 
        headers=headers
    )
    data = response.json()
    print(json.dumps(data))
    return {'statusCode': 200}

def main(event, context):
    payload = {
        "language": "ja-JP",
        "botId": "Chatting",
        "appId": docom_app_id,
        "voiceText": os.environ['MESSAGE'],
        "appRecvTime": "2017-10-28 00:25:00",
        "appSendTime": "2017-10-28 00:25:00"

    }
    response = requests.post(
        docomo_endpoint_dialog, 
        data=json.dumps(payload), 
        headers=headers
    )
    data = response.json()
    return data['systemText']['expression']


참고

좋은 웹페이지 즐겨찾기