【发布时间】:2013-02-24 12:27:46
【问题描述】:
我刚刚开始制作一个托管在 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'); 没有问题的原因是以下工作(发布到墙上按钮):
$('#postToWall').click(function() {
FB.ui(
{
method : 'feed',
link : $(this).attr('data-url')
},
function (response) {
// If response is null the user canceled the dialog
if (response != null) {
logResponse(response);
}
}
);
});
}
获取值的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
【问题讨论】:
-
$(this).attr('data-url')的值是多少? -
@BradM 我正在尝试找出这个问题,但我认为这不是问题所在是有原因的。我会编辑帖子,这是一个很长的答案。完成,编辑
-
好的。
$('#sendToFriends')的data-url是什么? -
和另一个一样,是由函数
getUrl();返回的,但无论如何,都是一样的值 -
您的错误信息是无效参数
link。您的data-url无效。它可能是一个损坏的字符串、一个空字符串或只是数字。可以显示getUrl()吗?
标签: php javascript facebook facebook-graph-api heroku