发布回复收件箱邮件?

时间:2011-08-26 08:20:08

标签: facebook facebook-graph-api

我正在尝试通过向/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) {

});

3 个答案:

答案 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移动设备具有非常简化的界面,因此不会分散注意力。它并不完美,但它可以工作,而且比试图列入白名单更容易。