facebook 发送 API 错误代码:100 API 错误描述:无效参数错误消息:“链接”无效

Posted

技术标签:

【中文标题】facebook 发送 API 错误代码:100 API 错误描述:无效参数错误消息:“链接”无效【英文标题】:facebook send API Error Code: 100 API Error Description: Invalid parameter Error Message: 'link' is invalid 【发布时间】:2013-04-12 14:32:27 【问题描述】:

我正在使用 facebook post 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 正在阻止指向其自己域的链接,以避免垃圾邮件。 当我将链接更改为其他实时站点时,它的工作原理。

我需要向我的应用程序发送链接,因为我必须提供这样的功能。

【问题讨论】:

如果有人在本地使用localhost:3000、127.0.0.1:300 之类的 URL 进行测试。会出现这个错误。但它可以在实时网址中正常工作。 查看我对这个问题的回答***.com/questions/7539659/… 【参考方案1】:

我也遇到过类似的问题,想在这里分享我的调查结果。

Facebook 文档中描述link 参数的唯一信息不是很有帮助:

link - 消息中发送的 URL。

还有其他几个与此类似/相关的 *** 问题:

Facebook API Error 100 - invalid link

这个问题最终是一个格式错误的picture 参数

Facebook FB.ui send dialog intermittently returns invalid link error -

“问题围绕着我们的 url 是动态的并且每次都需要强制缓存。我现在对“https://developers.facebook.com/tools/debug/og/object”进行 ajax 调用以刷新它,然后启动发送对话框。”

我仍然不知道准确什么是有效的link 参数,但是...

根据上述问题和回答做出一些推论,以及我自己的一些测试,有效的link参数:

必须是“完全合格的”。 IE。包含 http://https:// 必须facebook.com链接 可能不喜欢重定向(或者你必须偷偷摸摸地处理它们) 是否支持不在“应用程序域”列表中的 URL 是否支持查询字符串 可能对动态生成的页面有些挑剔(如this question)

显然,Facebook 有某种链接抓取机制,可以对link 参数执行一些未知测试以确定其有效性。我只希望他们选择为我们记录下来。

【讨论】:

【参考方案2】:

如果出现错误参数并且消息显示“API 错误代码:100” - 请确保在 youtube 中未选中“与播放列表共享”旁边的框,并且不会显示该错误。

【讨论】:

【参考方案3】:

找到解决办法:

Facebook Send Dialog Error Code: 100 API Error Description: Invalid parameter Error Message: ‘link’ is invalid.


问题原因:

Facebook 不允许使用自己的链接来阻止垃圾邮件。

问题解决方案:

Facebook API 没有提供任何解决方案。

其他锻炼:

缩短了 URL,但它在 Facebook 检查提供的 URL 时不起作用。 重定向 URL,同上。 在我的例子中,我部署了一个额外的 html 页面,用于重定向到 Facebook 应用程序链接。 请记住,当 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>

【讨论】:

查看我对这个问题的回答***.com/questions/7539659/…【参考方案4】:

我遇到了完全相同的问题,只是我的链接指向我的网站。

如果有人遇到类似情况,请查看this solution。希望对一些人有所帮助。

【讨论】:

以上是关于facebook 发送 API 错误代码:100 API 错误描述:无效参数错误消息:“链接”无效的主要内容,如果未能解决你的问题,请参考以下文章

Facebook PHP API 错误代码 100:API 中提供的 appsecret_proof 无效

Facebook Xmpp 聊天 API 错误

Facebook Conversion API Gateway 在像素错误后不再发送数据

Facebook 错误:“(#100)无效参数”、“OAuthException”、“代码”:100

Facebook打开图GraphMethodException错误代码100

Facebook API - 删除状态