2

我想跟进这个问题。我使用 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 发送方法,某些用户也无法工作。例如:

错误用户:https ://www.facebook.com/dialog/send?app_id=123050457758183&name=People%20Argue%20Just%20to%20Win&link=http://www.nytimes.com/2011/06/15/arts/people -argue-just-to-win-scholars-assert.html&redirect_uri=https://www.bancsabadell.com/cs/Satellite/SabAtl/&to=100000104626944

普通用户:https ://www.facebook.com/dialog/send?app_id=123050457758183&name=People%20Argue%20Just%20to%20Win&link=http://www.nytimes.com/2011/06/15/arts/people -argue-just-to-win-scholars-assert.html&redirect_uri=https://www.bancsabadell.com/cs/Satellite/SabAtl/&to=1311251197

(这是取自https://developers.facebook.com/docs/reference/dialogs/send/的共享链接示例)


向 Facebook 报告的错误:https ://developers.facebook.com/bugs/538638372825668

4

2 回答 2

2

编辑:事实上,现在每个人都应该可以通过消息联系到。它只是有新的“过滤偏好”。我猜这个can_message字段现在没用了,因为它应该总是返回true。我认为它会在一段时间内被弃用。


userFQL 表中,您有一个字段必须验证您需要什么:

can_message (boolean) : 用户是否可以向另一个用户发送消息

来源:https ://developers.facebook.com/docs/reference/fql/user

select can_message from user where uid=USER_ID

USER_ID成为您的应用用户想要向其发送消息的人。

于 2013-03-06T21:16:01.427 回答
-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.
}

});

请将以上内容视为伪代码,因为它直接来自我的脑海!

于 2013-03-01T14:52:12.190 回答