我想跟进this question。我使用FB.ui发送链接,并为一些用户得到完全相同的错误。无论如何都要检查它并决定是否向用户显示ui?
API Error Code: 100
API Error Description: Invalid parameter
Error Message: Viewer cannot message specified recipients.
<a href='#' onClick="
FB.ui({
method: 'send',
link: 'http://www.xxxxxxxxxxx.com',
to: ###########,
});
">Send a message</a>
即使我使用url send方法,某些用户也无法正常工作。例如:
(这是从https://developers.facebook.com/docs/reference/dialogs/send/获得的共享链接示例)
错误报告给Facebook:https://developers.facebook.com/bugs/538638372825668
答案 0 :(得分:2)
编辑:实际上,现在每个人都可以通过邮件联系到。它只有新的“filtering preferences”。我想这个can_message
字段现在没用了,因为它应该总是返回true
。我认为它会在一段时间内被弃用。
在user
FQL表中,您有一个必须验证所需内容的字段:
can_message (布尔值):用户是否可以向其他用户发送消息
来源:https://developers.facebook.com/docs/reference/fql/user
select can_message from user where uid=USER_ID
USER_ID
是您的应用用户想要向其发送消息的人。
答案 1 :(得分:-3)
您可以使用FB api;
我用的是:
FB.api('/me/permissions', function (response)
{
//check contents of response for required permissions here
fb_publish_perm = response.data[0]['publish_stream'] ? response.data[0]['publish_stream'] : false;
if (fb_publish_perm)
{
// it permissions exist
}
else
{
// permissions dont exist launch the ui to request.
}
});
请将以上视为psedo代码,因为它直接来自我的头顶!