

はじめての質問です。  
趣味でpythonのline-bot-sdk(1.5.0)でLINEのMessage APIを叩いてボットを作っています。  
pythonのバージョンは3.6.4です。flaskを使ってます。  
Webサーバーはheroku、画像はCloudinaryを使ってます。

今、LINEのカルーセルメッセージを送りたいと思っているのですが、何度試してみても  
LineBotApiError [A message (messages[0]) in the request body is invalid]  
のエラーが返されるばかりで、一向に上手くいきません。  
ソースコードを載せます。

[code]

    for product in range(num):
                rarity = "★" * (int(lineup[product]["gear"]["rarity"])+1)
                dst_time = __unixtime2datetime(lineup[product]["end_time"]) - now
                dst_time = str(dst_time).split(".")[0][:-3]
                thumbnail_url = lineup[product]["gear"]["thumbnail"]
                rm_ext, _ = os.path.splitext(thumbnail_url)
                res_dic = __check_exist(rm_ext[1:])
                if res_dic is None:
                    r = requests.get(url=base_url+thumbnail_url, cookies=cookie, headers=header)
                    res_dic = uploader.upload(r.content, public_id=rm_ext[1:])
                url = res_dic["secure_url"]
                cc = CarouselColumn(\
                    title=f"{lineup[product]['gear']['name']}({rarity}) #{lineup[product]['gear']['brand']['name']}",\
                    thumbnail_image_url=url,\
                    text=f"C {lineup[product]['price']}\nスキル: {lineup[product]['skill']['name']}\n確率UP: {lineup[product]['gear']['brand']['frequent_skill']['name']}\nあと: {dst_time}",\
                    actions=[PostbackTemplateAction(label="注文", data=f"order_id={lineup[product]['id']}")]\
                )
                crs.append(cc)
    ct = CarouselTemplate(columns=crs, image_aspect_ratio="square")
    retval = TemplateSendMessage(alt_text="ラインナップはこちら！", template=ct)
    
[/code]

SDKのサンプルやソースコードを何度も見ていますが、どうして上手くいかないのかサッパリ分かりません。

みなさんのご回答お待ちしてます。


CC BY-SA 3.0
2018-01-17T07:22:03.103
41028
2018-03-19T16:24:29.827
2018-03-19T16:24:29.827
19110
27026
question
python python3 heroku flask
LINEのカルーセルメッセージを送りたい


I recommend you to print length of your title, text, and url.

some tips for you.  
len(title) < 40  
len(text) < 60  
url must have https

should be able to debug.

cheers,  
khan


CC BY-SA 3.0
2018-03-19T16:00:55.243
42502
2018-03-19T16:00:55.243
27810
41028
answer