Facebook API错误代码:100错误消息:查看器无法向指定收件人发送消息

Facebook API错误代码:100错误消息:查看器无法向指定收件人发送消息,facebook,facebook-graph-api,facebook-javascript-sdk,Facebook,Facebook Graph Api,Facebook Javascript Sdk,我正在使用FacebookJSSDK让我的站点的用户从我的站点发送FB消息。我会定期看到以下错误: API错误代码:100 API错误描述:无效参数 错误消息:查看器无法向指定的收件人发送消息。 我很困惑,因为它不会一直发生。这更像是每8次尝试一次,没有明显的模式。有什么想法吗 这是我的密码。首先 <script> window.fbAsyncInit = function() { FB.init({ appId : '###

我正在使用FacebookJSSDK让我的站点的用户从我的站点发送FB消息。我会定期看到以下错误:

API错误代码:100
API错误描述:无效参数
错误消息:查看器无法向指定的收件人发送消息。

我很困惑,因为它不会一直发生。这更像是每8次尝试一次,没有明显的模式。有什么想法吗

这是我的密码。首先

<script>
      window.fbAsyncInit = function() {
        FB.init({
          appId      : '##########', // App ID
          channelUrl : '//www.xxxxxxxxxx.com/channel.php', // Channel File
          status     : true, // check login status
          cookie     : true, // enable cookies to allow the server to access the session
          xfbml      : true  // parse XFBML
        });

        // Additional initialization code here
      };

      // Load the SDK Asynchronously
      (function(d){
         var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
         if (d.getElementById(id)) {return;}
         js = d.createElement('script'); js.id = id; js.async = true;
         js.src = "//connect.facebook.net/en_US/all.js";
         ref.parentNode.insertBefore(js, ref);
       }(document));
    </script>

window.fbAsyninit=函数(){
FB.init({
appId:“###########”,//appId
channelUrl:'//www.xxxxxxxxx.com/channel.php',//通道文件
状态:true,//检查登录状态
cookie:true,//启用cookie以允许服务器访问会话
xfbml:true//解析xfbml
});
//这里有额外的初始化代码
};
//异步加载SDK
(职能(d){
var js,id='facebook jssdk',ref=d.getElementsByTagName('script')[0];
if(d.getElementById(id)){return;}
js=d.createElement('script');js.id=id;js.async=true;
js.src=“//connect.facebook.net/en_US/all.js”;
ref.parentNode.insertBefore(js,ref);
}(文件);
然后,这里是发送消息的链接:

<a href='#' onClick="
        FB.ui({
          method: 'send',
          name: 'Bla bla bla',
          link: 'http://www.xxxxxxxxxxx.com',
          to: ###########,
          //redirect_uri: 'http://www.xxxxxxxxxxx.com/fb/'
          });
        ">Send a message</a>

您不能让用户自己选择收件人,而是尝试自己设置收件人


如果收件人有自己的设置,因此他不接受来自“所有人”的邮件,而您的用户不是他们的朋友,那么这正是我所期望的情况。

AHA!我忽略了一个事实,即用户可以拒绝来自“朋友之友”的消息。对于同一个问题,FB有时会抛出不同的错误消息,这并没有帮助。它总是错误代码100,但有时它会添加消息,有时它是通用的。下面是一个百万美元的后续问题:我能做些什么来避免用户收到那个令人讨厌的错误消息吗?例如,是否有一种方法可以预先测试收件人是否允许发送邮件?您对上述错误的回答是100%正确的(一如既往地感谢),但事实证明,我的客户实际上看到了一个更神秘的错误。我在这里发布了一个新问题:你们有并没有找到一种方法来检查你们是否可以发送这个消息?