Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

bottleで外部サービスにPOSTする

情けないミスを繰り返してしまったせいで長くなっちゃいましたが。

実際のところ

requestsライブラリをつかいます。
この例では、"/api/func"にアクセスするとIFTTTに投稿するようになっています。
一通りのプロセスが終わると、返ってきたステータスコード*1をよこしてきます。

#!/usr/bin/env python
# -*- coding:utf-8 -*-

from bottle import route, get, run, default_app, request, template
import requests

@get('/api/func')
def api_func():
    data = {"value1": "abc", "value2": "def", "value3": "ghi"}
    headers = {'Content-Type': "application/json"}
    url = 'https://maker.ifttt.com/trigger/{{YOUR_APPNAME}}/with/key/{{YOUR_KEY}}'
    response = requests.post(url, json=data, headers=headers)
    return template("Post Request status_code is {{statusval}}", statusval=response.status_code)

if __name__ == '__main__':
    # コマンドから"python3 index.py"で起動した場合
    run(host='localhost', port=8080)
else:
    # uWSGIから起動した場合
    application = default_app()

*1:上手く行けば200