测试墙上交付的权限

时间:2011-10-06 15:35:10

标签: facebook oauth facebook-wall

这是第一次发帖。我和另一位开发人员已经建立了一个应用程序,允许非营利组织轻松设置facebook礼品店面。 http://apps.facebook.com/goodgiftsdemo

我们最近遇到了一个我不知道如何解决的问题。

有些用户设置了权限,因此他们不允许您发布到他们的墙上,因此我们无法提供礼物。问题是,在我们深入研究流程之前,我们无法找到答案。这是错误代码:

OAuthException:(#210)用户不可见

api中是否有任何方法可以查询收件人是否真的可以收到一个墙贴?

来自FB论坛:

“在尝试流式发布时(http图形api,授予流发布,2 用户是朋友)对用户,其墙被设置为可见“仅我”(a 相当模糊的隐私设置)“

任何人都知道如何查询朋友,看看我们是否能够完成投放?

3 个答案:

答案 0 :(得分:0)

我认为没有办法查询这样的用户隐私设置 - 当主叫用户没有获得在预期收件人的墙上写入的权限时,最好的解决方案可能会发现错误并在应用程序中显示

答案 1 :(得分:0)

您可以使用FQL查询检查stream_publish权限...

var query = FB.Data.query('select stream_publish from permissions where uid={0}', session["uid"]);
query.wait(function(rows) {
    if(rows[0]['stream_publish']){
        alert("user has permissions");
    }
    else{
        alert("user does not have permissions");
    }
});

答案 2 :(得分:0)

您可以使用以下查询测试当前用户/应用程序是否可以发布到目标uid的墙:

select can_post from user where uid=?