프리젠터 API 사용 (python/FastAPI)

개요



htps : // 이 m / 아무리 / ms / 147f 베아 348657 아 4 fbf1
↑의 내용을 베이스로 해, 이번은 python을 사용해 프리젠터의 「API 기능」을 사용해 보기로 했습니다.
파이썬을 사용할 때 프레임 워크를 채택해 보았습니다.

전제 조건


  • 프리잔터( h tps : // p ぇ 아산 r. 네 t/fs/푸 bぃしぇs/420234/에아 t)
  • API
  • 파이썬
  • 프레임 워크
  • FastAPI( h tps : / / 후 s 타피. 치안고. 코 m/그럼/)

  • 이러한 세부 사항은 생략.

    결론



    파이썬을 사용하여 프리젠터에 데이터 등록을 할 수 있었다. (API에서)
    프레임워크의 FastAPI는 좀처럼 사용할 수 있는 것으로 밝혀졌다.

    상세



    파이썬 프레임 워크 선택



    향후의 전개를 생각해, 프레임워크를 이용하는 것에.
    대략 조사해 FastAPI가 좋을 것 같기 때문에 채용.
    설치 작업 등에 대해서는 생략.

    정보는 이쪽.
    h tps : // / 후스 타피. 치안고. 코 m/그럼/

    FastAPI로 개발 준비



    설명서를 바탕으로 최소 소스를 만들어 웹 서버를 시작합니다.
    웹 서버는 uvicorn이라는 사람.

    소스는 이쪽. 이것만으로 OK.

    main.py
    from fastapi import FastAPI
    
    app = FastAPI()
    
    
    @app.get("/")
    def read_root():
        return {"Hello": "World"}
    

    명령 프롬프트에서 웹 서버를 시작합니다.
    포트는 디폴트라고 경합했기 때문에 8010을 지정.
    바로 시작합니다.
    >uvicorn main:app --reload --port 8010
    INFO:     Uvicorn running on http://127.0.0.1:8010 (Press CTRL+C to quit)
    INFO:     Started reloader process [26816] using statreload
    INFO:     Started server process [22304]
    INFO:     Waiting for application startup.
    INFO:     Application startup complete.
    

    브라우저에서 표시를 확인. 표시 OK.



    문서도 마음대로 할 수 버린다.
    꽤 놀랍습니다. 여담입니다만.



    FastAPI (python)에서 프리젠터에 등록



    시험에 「/test_create」라고 하는 엔드포인트를 작성해, 그 안에서 프리젠터에 데이터를 등록하도록(듯이) 한다.

    main.py
    import requests
    import json
    from fastapi import FastAPI
    from requests_ntlm import HttpNtlmAuth
    
    
    app = FastAPI()
    
    
    @app.get("/")
    def read_root():
        return {"Hello": "World"}
    
    
    @app.get("/test_create")
    def test_create():
    
        url = 'http://192.168.10.10/pleasanter/api/items/12389/create'
    
        json_str = '''\
        {
            "ApiVersion": 1.1,
            "ApiKey": "ea55625bb586d27df01c281e5ef5464e4bbe6bc86d1451a24fd430351198ce0bbabc467cdd1d0ebdf4045ec22922dfce7a9f47a8241559229a7d5129d2329879",
            "ClassHash": {
                "ClassA": "氏名2",
                "ClassB": "所属3",
                "ClassC": "場所4"
            },
            "DateHash": {
                "DateA": "2020/11/08 08:00",
                "DateB": "2020/11/08 17:00"
            },
            "Body": "通常勤務です"
        }
        '''
        json_data = json.loads(json_str)
    
        headers = {'content-type': 'application/json; charset=UTF-8'}
        response = requests.post(url, json=json_data, headers=headers,
                                 auth=HttpNtlmAuth('xxx\xxx', 'xxx'))
    
        return (response.text)
    
    



    ↑ 문서를 사용하여 실행하면. . .



    성공! !
    "{\"Id\":12410,\"StatusCode\":200,\"Message\":\"\\"이름 2\\"을(를) 만들었습니다.\"}"



    프리잔터의 화면에서 확인해 OK!

    등록할 수 있었으므로, 여기까지로 끝.

    좋은 웹페이지 즐겨찾기