2011-10-06 47 views
1

这是第一次发布。我和另一位开发人员已经构建了一个应用程序,允许非营利组织轻松设置一个Facebook礼品店面。 http://apps.facebook.com/goodgiftsdemo墙壁递送权限测试

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

一些用户已设置权限,因此他们不允许您张贴到他们的墙上,因此我们无法提供礼物。问题是我们无法找到,直到我们深入到流程中。以下是错误代码:

OAuthException:(#210)用户不可见

有没有在API任何方式询问收件人是否可以实际收到的墙后?

从FB论坛:

“当试图流出版(HTTP图形API,授流出版,2个 用户更是朋友)的用户,它的墙壁被设置为可见的‘只有我’ (一个 比较隐蔽的隐私设置)“

任何人都知道一种方法来查询朋友,看看我们是否能够完成交付?

回答

0

我不认为有任何方法可以查询用户的隐私设置 - 最佳解决方案可能会在主叫用户未获准写入预期收件人的墙上并在您的应用

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"); 
    } 
}); 
+0

他的问题是,预期的收件人不允许活动用户在他们的墙上写字,而不是活动用户没有给他的应用程序许可来制作墙贴 – Igy

0

您可以测试如果当前用户/应用可以发布到目标UID的墙下面的查询:

select can_post from user where uid=?