请求正文中的属性“to”无效(行:-,列:-)

问题描述 投票:0回答:3

我是新的在线机器人,我尝试使用试用开发人员的线路API,以及这个简单的Python代码(来自https://developers.line.me/en/docs/messaging-api/reference/#send-push -消息):

import requests

headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}',
}

data = '{"to": "kutemukan","messages":[{"type":"text","text":"Hello, world1"},{"type":"text","text":"Hello, world2"}]}'

a = requests.post('https://api.line.me/v2/bot/message/push', headers=headers, data=data)
print(a.text)

我的线路ID:

kutemukan
,从中我得到:

请求正文中的属性“to”无效(行:-,列:-)

谢谢,顺便说一下 + 解释一下 Line Bot 与 Telegram Bot 有什么不同

python line bots
3个回答
2
投票

对于您的推送消息案例,

  1. 我使用的最简单的方法是将机器人 ID 放在“userId”上。那些将您的机器人添加为朋友的人应该在每次您的机器人推送时看到消息。

您可以在line开发者控制台中的最后部分“其他/您的用户ID”中找到id。

  1. 通过 webhook 工具跟踪响应消息中的 id,例如 RequestBin,是免费且易于使用的。以下步骤修改自Line bot faq

    • 创建webhook,打开https://requestb.in,创建requestbin
    • 在Line上设置webhook,打开【line开发者控制台】,将RequestBin中的url填入webhook URL部分
    • 验证,点击【线路开发者控制台】上的【验证】,刷新后在RequestBin检查上验证数据。
    • 查找ID,从用户或组发送线路消息,然后您可以在RequestBin“RAW BODY”部分中找到用户id或组id。
    • 发送消息,将id放入推送消息中,完成


0
投票

您需要您帐户的“真实用户 ID”,

我从 webhook 得到的,

{"events":[{"type":"message","replyToken":"XXXXXXXXXXXXXXXXXXXXX,"source":{"userId":"THIS_NEEDED_USER_ID","type":"user"},"timestamp":1509437238106,"message":{"type":"text","id":"XXXXXXXXXXXXX","text":"Aya"}}]}


0
投票

即使我使用正确的线路 ID 帐户通过 https://api.line.me/v2/bot/message/push API 发送消息,我也遇到了相同的错误。

如果你们有解决方案,请与我们分享。谢谢

=> 请求 { “至”:“xxxxxxxxx”, “消息”:[ { “类型”:“文本”, "text": "已创建一个新的 TODO:任务 1" } ] }

=> 回应 { "message": "请求正文中的属性'to'无效(行:-,列:-)" }

© www.soinside.com 2019 - 2024. All rights reserved.