【问题标题】:posting reply to inbox message?回复收件箱消息?
【发布时间】:2011-08-26 08:20:07
【问题描述】:

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

});

【问题讨论】:

    标签: facebook facebook-graph-api


    【解决方案1】:

    默认情况下,Facebook 应用不允许代表用户发送消息。您缺少任何权限。这是防止垃圾邮件的额外级别(除了提示用户是谁)。您必须联系 Facebook 才能将您的应用程序列入白名单。我会试试他们的developer group

    【讨论】:

      【解决方案2】:

      在这里打开了一张支持票: http://developers.facebook.com/bugs/183144141763793?browse=search_4e8b140cbf26e6040457329

      尝试了所有我能想到的并在谷歌上搜索,仍然遇到这个问题

      【讨论】:

        【解决方案3】:

        正如其他人指出的那样,除非您在 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();
        });
        

        其中 message id 是他们正在回复的消息的 Facebook id。就我而言,我使用 PHP 在页面加载时将消息 id 回显到 javascript 变量或数据属性中。由于 Facebook 移动页面在新选项卡中打开,他们甚至没有真正离开我的应用程序。由于 Facebook 手机具有非常精简的界面,因此不会让人分心。它并不完美,但它很有效,而且比尝试加入白名单更容易。

        【讨论】:

          猜你喜欢
          • 2020-01-09
          • 2012-02-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多