Php API错误代码:100 facebook OpenGraph

Php API错误代码:100 facebook OpenGraph,php,javascript,facebook,facebook-graph-api,heroku,Php,Javascript,Facebook,Facebook Graph Api,Heroku,我刚刚开始在heroku上制作一个新的Facebook应用程序,我还没有做任何更改,但对功能进行了一点测试,以适应这些东西的工作方式。在我尝试“发送消息按钮”之前一切正常,此时会出现一个对话框,其中显示以下错误日志: An error occurred. Please try later API Error Code: 100 API Error Description: Invalid parameter Error Message: 'link' is invalid. 我查看了相关的代

我刚刚开始在heroku上制作一个新的Facebook应用程序,我还没有做任何更改,但对功能进行了一点测试,以适应这些东西的工作方式。在我尝试“发送消息按钮”之前一切正常,此时会出现一个对话框,其中显示以下错误日志:

An error occurred. Please try later

API Error Code: 100
API Error Description: Invalid parameter
Error Message: 'link' is invalid.
我查看了相关的代码,没有发现任何错误,但我是一名新手,所以也许你们中的任何人都可以帮我找出错误:

    $('#sendToFriends').click(function() {
          FB.ui(
            {
              method : 'send',
              link   : $(this).attr('data-url')
            },
            function (response) {
              // If response is null the user canceled the dialog
              if (response != null) {
                logResponse(response);
              }
            }
          );
        });
我认为
$(this.attr('data-url')没有问题的原因是指以下工作(张贴到墙上按钮):

获取该值的
getUrl()
函数是:

 public static function getUrl($path = '/') {
if (isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == 1)
  || isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https'
) {
  $protocol = 'https://';
}
else {
  $protocol = 'http://';
}

return $protocol . $_SERVER['HTTP_HOST'] . $path;
}

有人能帮我吗?我在facebook开发者论坛和stackoverflow上搜索了一些,但是虽然错误代码相同,但错误消息不同。我认为这个问题来自facebook,因为方法
feed
有效,而方法
send
无效。这两种方法都在facebook sdk中定义


注意:我使用的是最新的php sdk

我仅在使用发送对话框时遇到此问题。feed发布工作很好,这很奇怪。我在一个公共URL上使用动态查询字符串参数

我修复了这个问题,在我尝试通过FB UI发送对话框发送URL之前,我强迫Facebook删除URL。使用FB API点击
graph.facebook.com
,在
id
参数中发布URL,并将
scrape
参数设置为
true

像这样:

FB.api('https://graph.facebook.com/', 'post', {
    id: '[URL]',
    scrape: true
}, function(response) {
    FB.ui({
        method: 'send',
        name: '[name]',
        picture: '[Picture URL]',
        link: '[URL]',
        description: '[description]'
    });
});

我也用这个解决方案回答了同样的问题。

this.attr('data-url')的值是多少?@BradM我试图找出这个问题,但我认为这不是问题的原因。我会编辑这篇文章,这是一个很长的答案。完成了,editedOk。
$('sendToFriends')
数据url
是什么?与另一个相同,它由函数
getUrl()返回但无论如何,具有相同的值您的错误消息是无效的参数
链接
。您的
数据url
无效。它可能是一个断开的字符串,一个空字符串,或者只是数字。你能显示
getUrl()
吗?
FB.api('https://graph.facebook.com/', 'post', {
    id: '[URL]',
    scrape: true
}, function(response) {
    FB.ui({
        method: 'send',
        name: '[name]',
        picture: '[Picture URL]',
        link: '[URL]',
        description: '[description]'
    });
});