我正在尝试通过向/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) {
});
答案 0 :(得分:1)
默认情况下,Facebook应用不允许代表用户发送消息。您没有遗漏任何许可。这是防止垃圾邮件的额外级别(除了提示用户之外)。您必须联系Facebook才能将您的应用程序列入白名单。我会尝试他们的developer group。
答案 1 :(得分:0)
在这里开了一张支持票: http://developers.facebook.com/bugs/183144141763793?browse=search_4e8b140cbf26e6040457329
尝试了所有我能想到的并用Google搜索,仍然遇到了这个问题
答案 2 :(得分:0)
正如其他人所指出的那样,除非您使用Facebook的白名单,否则无法以编程方式执行此操作。但是,我确实找到了解决这个问题的方法。我所做的就是使用Oauth来显示来自用户FB收件箱的信息。当用户点击邮件的“回复”时,我只是将它们发送到Facebook Mobile上的回复页面,如下所示:
$('.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移动设备具有非常简化的界面,因此不会分散注意力。它并不完美,但它可以工作,而且比试图列入白名单更容易。