我正在使用Facebook发布的GRAPH UI发布私人消息,其链接指向我在facebook中的应用程序。 之前它工作正常,但从最近两天开始,对话框开始抛出错误:
发生错误。请稍后再试。
API错误代码:100
API错误说明:无效的参数
错误消息:“链接”无效。
用于发送消息我正在使用代码:
function sendMessage(id) {
FB.ui({
method : 'send',
name : 'My APP',
link : 'https://apps.facebook.com/MY_APP/',
to : id,
show_error : 'true',
description : 'my description'
});
}
我已经用Google搜索了这一点,我得到的唯一相关信息是Facebook阻止了自己域名的链接以避免垃圾邮件。 因为我将其链接更改为其他实时网站。
我需要发送链接到我的应用程序,因为我必须提供这样的功能。
答案 0 :(得分:6)
我遇到了类似的问题,并且认为我会在这里分享调查结果。
Facebook文档中描述link
参数的唯一信息并不十分有用:
链接 - 邮件中发送的网址。
此问题最终成为格式错误的
picture
参数
“问题围绕着我们的url是动态的并且每次都需要强制缓存。我现在对”https://developers.facebook.com/tools/debug/og/object“进行ajax调用以刷新它,然后启动发送对话框。”
link
参数,但...... 从上述问题中做出一些推论&响应,以及我的一些测试,有效的link
参数:
http://
或https://
facebook.com
个链接显然,Facebook有某种链接爬行机制,可以对link
参数执行一些未知测试,以确定其有效性。我只希望他们选择为我们记录。
答案 1 :(得分:3)
找到解决方案:
问题原因:
Facebook不允许使用自己的链接来阻止垃圾邮件。
问题解决方案:
没有像Facebook API那样的解决方案。
其他锻炼:
缩短网址,但是当Facebook检查提供的网址时,它不起作用。 重定向网址,与上述相同。 在我的情况下,我已经部署了一个额外的HTML页面,用于重定向到Facebook App链接。 请记住,当Facebook扫描提供的URL时,您应该有几秒钟的计时器,因此它无法检测到该页面正在重定向到同一个应用程序链接。 我在HTML文件中使用了以下代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>My Application</title>
</head>
<body>
<p id="demo"></p>
</body>
<script type="text/javascript">
var url = "https://apps.facebook.com/MY_APPLICATION_ID";
var myVar = setInterval(function() {
myTimer()
}, 1000);
var counter = 3;
function myTimer() {
if (counter == 0) {
window.location.replace(url);
window.clearInterval(myVar);
}
document.getElementById("demo").innerHTML = "you will be redirected in "
+ counter + " seconds...";
counter = counter - 1;
}
</script>
</html>
答案 2 :(得分:0)
除了我的链接指向我的网站外,我遇到了完全相同的问题。
如果有人遇到类似情况,请查看this solution。希望能帮助一些人。
答案 3 :(得分:-1)
如果出现错误参数且消息显示为&#34; API错误代码:100&#34; - 确保&#34;旁边的框与播放列表共享&#34;在youtube中取消选中,该错误无法显示。