如何解决Messenger bot:您必须先登录www.facebook.com并按照给出的说明才能访问该应用程序没有给出指令 快速修复:长版
我的Messenger机器人已经运行了两个月,但是今天晚上发生了一些变化,并且由于不清楚的原因,我无法发回Facebook,该Facebook返回了错误作为响应。
从乞求:
- 这是沟通方案
# VS - alias for the Server running chatbot
# this is what should happen
1. User -> message -> FB # User sends a message via messenger
2. VS <- message <- FB # Facebook does its thing and send me REST API POST request
3. VS -> response -> FB # I send the response meant for the User
4. User <- response <- FB # Facebook forwards the response to User
# this is what is happening
1. User -> message -> FB # works
2. VS <- message <- FB # works
3. VS -> response -> FB # works
4. VS <- error <- FB # FB returns an 400 error and User gets no response
- 这是第四步中返回的错误。
# The error response from step 4
'{"error":{
"message":"You cannot access the app till you log in to www.facebook.com and follow the
instructions given.",### !! above !! ###
"type":"OAuthException","code":190,"error_data": "{\"checkpoint_url\" : \"https:\\\/\\\/www.facebook.com\"}","error_subcode":459,"fbtrace_id":"A9MjzGGqQfKY2vPsszXQemu"
}
}'
我按照消息字段中的说明进行操作,但是facebook.com
和developers.facebook.com
上都没有说明。我从正确的帐户中进行了检查。
我确实更改了服务器代码中的内容,但这是一个简单的错误修复,不应影响与Facebook的通信。显然,我已经对其进行了测试,并且一切正常。
但是一夜之间,FB认为一切都不好,并开始向发送的每个response
返回错误(response
是通信方案的第三步)。
您知道此错误的原因是什么,或者也许因为Facebook没有提供真正的支持而在哪里可以找到帮助?
解决方法
快速修复:
- 登录到该应用程序的每个管理员帐户,然后查看通知或
可能的安全问题。
对我来说,它正在更改帐户密码 我每天都不用。 - 在
App Dashboard/Messenger/Settings
中生成新的访问令牌并重新配置 您的服务器即可使用它。
长版
该应用程序有两个管理员帐户,一个是我的常用帐户,另一个是专门为此项目创建的(不需要)。
从我的主要帐户看,在写这个问题时,我找不到能告诉我什么地方出问题的任何东西,只是为了确保我检查了另一个问题。 FB出于安全原因提示我更改密码,因为有人试图从美国登录(但最近我没有尝试登录该帐户)。
我更改了密码,并寻找通知,告诉我出了什么问题。没有。错误响应在日志中也没有改变。
今天,我没有想到更好的选择了:requests.post("https://graph.facebook.com/v2.6/me/messages")
至:requests.post("https://graph.facebook.com/v6.0/me/messages")
并检查了日志,我找到了以下响应:
"error":{
"message":"Error validating access token: The session has been invalidated
because the user changed their password or Facebook has changed the
session for security reasons.","type":"OAuthException","code":190,"error_subcode":460,"fbtrace_id":"Ay7KPJ9_gtv5s3ebKjm5LG_"
}}'
现在,我完全按照它说的做了,并在其中生成了一个新的访问令牌
App Dashboard/Messenger/Setting
并重新配置我的服务器。就是这样
然后出于好奇,我将v6.0
改回v2.6
,一切仍然正常。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。