【问题标题】:Facebook app request dialog not sending requestFacebook 应用程序请求对话框未发送请求
【发布时间】:2012-02-06 01:04:57
【问题描述】:

我们有一个使用 Facebook 登录的网站。我们有一个邀请页面,显示用户的 facebook 好友,然后可以通过 facebook 邀请他们:

$('.invite_container a').live('click', function() {
    var link = $(this);
    FB.ui({method: 'apprequests',
        message: "Join me on Tailored",
        to: link.attr("user_id")
    }, function(data) {
        console.log(data);
    });
});

我从 Facebook 收到了适当的回复,其中包括请求 ID 和受邀用户的 ID。从来没有人收到过邀请,当我在 FB 图表中检查请求 ID 时,我得到的是“假”。

有什么想法吗?

【问题讨论】:

    标签: facebook facebook-graph-api user-interface apprequests


    【解决方案1】:

    关于从哪里开始寻找的一些建议:

    • 确保您的应用程序未处于沙盒模式。
    • 确保用户不是发送邀请的测试用户。
    • 请求仅适用于 Desktop Canvas 应用,不适用于网站。

    【讨论】:

    • 感谢您的回复。我既不处于沙盒模式,也不使用测试用户。还有其他想法吗?
    • "请求仅适用于 Desktop Canvas 应用程序,而不适用于网站。"
    • 这绝对是问题所在。我不知道我是怎么错过的。
    • 奇怪的是,Pinterest 的邀请页面使用完全相同的 FB.ui 功能来邀请您使用 Pinterest,而且效果很好。我想知道他们是否真的在邀请您使用画布应用而不是他们的网站?
    • 正确!这就是你需要做的。确保您有一个用户可以访问的画布应用程序。 :)
    【解决方案2】:

    我不得不在现有的 Cordova 应用程序中实现 facebook 的“apprequests”而不是已弃用的“appinvites”,并花费数小时进行调试。

    以下是我的经验教训:

    • “apprequests”仅在归类为“游戏”的 Facebook 应用中可用
    • 您只能向与 facebook 应用程序相关的平台(iOS、Android、Facebook 网络游戏)发送通知。这意味着,如果您错过“facebook 网页游戏”作为平台,您将永远不会在浏览器中收到通知。 如果我被移动应用程序邀请,我的期望是在 facebook 浏览器应用程序中收到通知。
    • 如果您喜欢浏览器应用程序中的通知,您必须添加“Facebook 网页游戏”(以前称为“画布”)作为平台。
    • 您可以通过在 Facebook 应用的应用角色类别中创建测试用户来省去很多麻烦。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-31
      • 2012-02-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多