我在FB Graph API上遇到这个非常令人困惑和奇怪的问题。我拥有多个FB页面,并使用Webhook和FB Messanger API将消息发布到FB页面。 现在,WebHook可以正常工作,并且所有消息都已发送到服务器。
但是,当我回复FB页面消息时,出现 Bad Request 400 错误。 现在令人困惑的是,我不是每次都遇到这个问题。每页内只有很少的聊天记录。 例如:我有第1页,第2页和第3页 现在,如果用户P1在页面1上与我连接,则可以发送答复,但是当其他用户(例如,用户P2)在同一页面上连接时,我将无法答复并且无法解决上述错误。 几乎每个页面都发生相同的情况。我只能回复少数用户,而不能回复其他人。在所有页面上使用相同的代码,每个页面使用不同的 AccessTokens 。
下面是我的代码:
private static string PostRaw(string url, string data)
{
var request = (HttpWebRequest)WebRequest.Create(url);
request.ContentType = "application/json";
request.Method = "POST";
using (var requestWriter = new StreamWriter(request.GetRequestStream()))
{
requestWriter.Write(data);
}
var response = (HttpWebResponse)request.GetResponse();
if (response == null)
throw new InvalidOperationException("GetResponse returns null");
using (var sr = new StreamReader(response.GetResponseStream()))
{
return sr.ReadToEnd();
}
}
protected string sendGenericMessage()
{
var messageData = $@" {{recipient: {{ ""id"": ""xxxxxxxxxxx""}},""message"": {{""text"": ""Thanks for sending message so fast, yes we have got your message. And this is a test reply from within the integrated app."" }}}}";
return PostRaw("https://graph.facebook.com/v3.2/me/messages?access_token=ACCESSTOKENxxxx", messageData);
}
以下是我在响应标题中遇到的错误: 现在,我的帐户可以正常运行,因为同一页面可以进行其他聊天。
状态:ProtocolError
状态码:400错误的请求
响应:{“错误”:{“消息”:“(#2022)您的帐户暂时不可用。通过从移动设备或Web浏览器登录来重新获得访问权限。”,“类型”:“ OAuthException”,“代码“:2022,” fbtrace_id“:” Ab0 + 9Dhagz3“}}