2011-08-26 81 views
3

我试图通过向/message_id/comments发送POST请求来回复收件箱消息。这是将回复发送到收件箱邮件的正确方式吗?发送回复收件箱消息?

,我发现了以下错误:

"error": { 
     "type": "OAuthException", 
     "message": "(#3) App must be on whitelist" 
    } 

令牌具有每一个可能的权限。

我是否必须要求将我的应用添加到白名单中?怎么做?

我在javascript + jQuery的这样做:

var params = { 
    access_token: token 
    , method: 'post' 
    , message: 'hi' 
}; 
$.getJSON('https://graph.facebook.com/$message_id/comments?callback=?', params, function(json) { 

}); 

回答

1

Facebook应用程序在默认情况下是不允许代表用户发送消息。没有您错过的许可。这是一个额外的级别,以防止垃圾邮件(超出提示用户谁)。您必须联系Facebook才能将您的应用程序列入白名单。我会尝试他们的developer group

0

像其他人指出的那样,没有办法做到这一点以编程方式,除非你在Facebook的白名单。不过,我确实为我的应用找到了解决方法。我所做的就是使用Oauth以正常方式显示用户的FB收件箱中的消息。当用户点击消息“答复”,我只是把他们送到Facebook上移动的回复页面,如下所示:

$('.reply').click(function() { 
    var popup_window = window.open('http://touch.facebook.com/messages/compose?ids='+message_id, '_blank'); 
    popup_window.focus(); 
}); 

如果消息id是Facebook的ID为他们回复的邮件。就我而言,我使用PHP在页面加载时将消息ID回显为javascript变量或data-attribute。由于Facebook移动页面在新标签中打开,他们甚至不会真的离开我的应用程序。由于Facebook移动界面非常流畅,因此不会让人分心。这并不完美,但它起作用,比试图列入白名单更容易。

相关问题