Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用自定义消息参数发送Facebook apprequests/通知?_Javascript_Facebook_Notifications_Facebook App Requests - Fatal编程技术网

Javascript 如何使用自定义消息参数发送Facebook apprequests/通知?

Javascript 如何使用自定义消息参数发送Facebook apprequests/通知?,javascript,facebook,notifications,facebook-app-requests,Javascript,Facebook,Notifications,Facebook App Requests,我目前正在开发一个Facebook canvas应用程序,让用户邀请其他人使用这个应用程序,这是非常标准的东西。 为此,我使用JavaScript SDK的FB.ui方法 FB.ui({ method: 'apprequests', title: "Title", message: 'Custom Message', to: UserIDs }); 当前呈现此UI对话框的。查看此图(请注意带有标准邀请消息的预览部分): 然后,被邀请的用户将收到标准消息:use

我目前正在开发一个Facebook canvas应用程序,让用户邀请其他人使用这个应用程序,这是非常标准的东西。 为此,我使用JavaScript SDK的FB.ui方法

FB.ui({
    method: 'apprequests',
    title: "Title",
    message: 'Custom Message',
    to: UserIDs
});
当前呈现此UI对话框的。查看此图(请注意带有标准邀请消息的预览部分):

然后,被邀请的用户将收到标准消息:
user\u NAME向您发送了一个应用程序名称请求
。然而,就像往常一样,我们希望用户在第一次通知中获得一条自定义消息(至少这是慈善捐赠活动)。 我已经阅读了Facebook的文档,我知道收件人没有安装应用程序的用户对用户请求可能不会显示message参数。尽管如此,我知道一个事实(因为我收到了它们!)某些应用程序能够向尚未安装它们的用户发送自定义消息。例如,此UI请求对话框(请注意预览区域中的自定义消息):

我知道有其他发送通知的方法,例如,目前处于测试阶段的通知API。但他们似乎受到同样的限制

如果有人能帮我弄清楚这些应用程序是如何通过自定义消息生成这些请求的,我将不胜感激

如本文所述,您需要使用未记录的
new\u style\u消息
boolean参数

   FB.ui({method:'apprequests',
      title:'Custom window title',
      to: [1,2,3],
      message:'the custom application message',
      new_style_message:true
   }, function (response) {;});
正确的信息将与您的申请一起发送

尽管如此,我知道一个事实(因为我收到了它们!)某些应用程序能够向尚未安装它们的用户发送自定义消息


这些人最有可能是“大玩家”,他们已经被Facebook列入白名单。因为所有的滥用(垃圾邮件),你所问的问题不久前已经被Facebook删除了

您仍然可以使用message参数

Facebook文档:

消息值显示在通知中,也可以查看 在应用程序和游戏仪表板上。邀请(收件人提出的请求) 尚未安装应用程序)不显示此值

例如:

function sendRequestToRecipients() {
        var user_ids = document.getElementsByName("user_ids")[0].value;
        FB.ui({method: 'apprequests',
          message: 'My Great Request',
          to: user_ids
        }, requestCallback);
      }

更多信息:

对不起,tmarthal!我已经接受了答案,因为该参数在预览窗口中有效地运行,但实际的apprequest显示一条标准消息“SENDER邀请您尝试”。至少对于尚未安装该应用程序的用户来说是这样。然而,像BranchOut这样的应用程序发出的请求似乎并没有以新的方式传递给非用户。怀疑这是“大玩家”。然而,复杂的消息字符串似乎有问题。尝试使用简化的消息,看看它是否有效。另外,这也是你能做的最好的事情(谢谢@tmarthal,事实上,我刚刚意识到,即使在已经安装了应用程序的用户中,apprequest也会在没有message参数的情况下到达他们手中。到达他们手中的只是“邀请你尝试”、“向你发送请求”消息类型。如果可能与应用程序或权限的某些全局配置有关,您有什么线索吗?这是我的代码:FB.ui({method:'apprequests',new_style_message:'true',title:'Invita a tus amigos',message:'mensaje sencillo',to:[UID1,UID2]},function(response){if(!response | | response.error){警报('Error occured');compartirAmigos();}其他{compartirAmigos();}});哇,谢谢CBroe。我希望情况并非如此,因为要想与Facebook上的人取得联系以了解此事是多么困难。干杯!谢谢NoScope。正如我在问题中提到的,我非常熟悉有关邀请和消息参数的文档。事实上,未记录的“新风格消息:true”parameter(在@tmarthal的回答中提到)似乎在预览弹出窗口中起作用。此外,正如我在问题中提到的,我在过去几天收到了来自BranchOut或生日日历等应用程序的邀请,这些应用程序甚至为未经验证的用户提供消息参数。这方面有什么好运气吗?我遇到了同样的问题。。。