gpt4 book ai didi

ruby - Facebook::Messenger::Bot::RecipientNotFound

转载 作者:数据小太阳 更新时间:2023-10-29 08:07:05 27 4
gpt4 key购买 nike

我正在尝试使用 Hypersolo 提供的 facebook messenger gem 构建一个 messenger bot:https://github.com/hyperoslo/facebook-messenger

我总是收到以下错误:Facebook::Messenger::Bot::RecipientNotFound(不支持的发布请求。ID 为“我”的对象不存在,由于缺少权限而无法加载,或者不支持此操作。请阅读位于 https://developers.facebook.com/docs/graph-api 的图形 API 文档)

我假设错误是由于 access_token 无效或不活动造成的,但是我一遍又一遍地请求一个新的 access_token,但错误仍然存​​在。我检查了我的页面订阅,这似乎很好,并且在 webhook 中禁用了 message_echoes。

我使用的代码很简单:

require 'facebook/messenger'
include Facebook::Messenger

Facebook::Messenger::Subscriptions.subscribe(access_token: ENV["ACCESS_TOKEN"])

Bot.on :message do |message|
message.reply(text: 'Hello, human!')
end

此外;省略回复并检查消息变量给我一个有效的消息对象。

#<Facebook::Messenger::Incoming::Message:0x007fdd2d4a40e0 @messaging={"sender"=>{"id"=>"1349987331712XXX"}, "recipient"=>{"id"=>"1683630555268XXX"}, "timestamp"=>1484149162343, "message"=>{"mid"=>"mid.1484149162343:d5a47f1649", "seq"=>121620, "text"=>"Why wont this work?"}}>

最佳答案

我从来没有像你一样使用过 hyperoslo 框架,但我发现了一些可以解释你的问题的东西。

您的消息值(value):

#<Facebook::Messenger::Incoming::Message:0x007fdd2d4a40e0 @messaging={"sender"=>{"id"=>"1349987331712XXX"}, "recipient"=>{"id"=>"1683630555268XXX"}, "timestamp"=>1484149162343, "message"=>{"mid"=>"mid.1484149162343:d5a47f1649", "seq"=>121620, "text"=>"Why wont this work?"}}>

这意味着,要获取发件人 ID,代码应为 @message['sender']['id']但是我在 hyperoslo source ( https://github.com/hyperoslo/facebook-messenger/blob/master/lib/facebook/messenger/incoming/common.rb ) 上发现,它似乎不一致:

    def sender
@messaging['sender']
end

def recipient
@messaging['recipient']
end

def reply(message)
payload = {
recipient: sender,
message: message
}

Facebook::Messenger::Bot.deliver(payload, access_token: access_token)
end

我认为,它应该是 @messaging['sender']['id'] 而不是 @messaging['sender']

不管怎样,看看这个问题:https://github.com/hyperoslo/facebook-messenger/issues/96 .

关于ruby - Facebook::Messenger::Bot::RecipientNotFound,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41595847/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com