微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Messenger bot:您必须先登录www.facebook.com并按照给出的说明才能访问该应用程序没有给出指令 快速修复:长版

如何解决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.comdevelopers.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 举报,一经查实,本站将立刻删除。