在脸书上发送私信

Posted

技术标签:

【中文标题】在脸书上发送私信【英文标题】:Send a private message on facebook 【发布时间】:2017-10-19 12:57:26 【问题描述】:

我可以使用 belwo facebook API 向我的 facebook 朋友发送私人消息。

<html xmlns:fb="https://www.facebook.com/2008/fbml">
<body>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<div id="fb-root"></div>
<script>
  FB.init(appId: '315462388662460', xfbml: true, cookie: true);

  FB.ui(
      method: 'send',
      link: 'https://www.youtube.com/watch?v=uia0PQy5ksg',
      );
 </script>
</body>
</html>

每次我运行上面的页面时,它都会打开一个UI,然后我必须输入我的朋友姓名和消息,然后点击发送

由于我只需要将它发送给一个朋友,有没有什么方法可以发送关于执行 avove 脚本的消息。(无需打开任何 UI 并点击发送)

【问题讨论】:

不,这是不可能的。没有用于发送用户到用户消息的 API。 【参考方案1】:

doc 表示您可以在“to”参数中传递收件人的用户 ID。

你试过了吗?

FB.ui(
      method: 'send',
      link: 'https://www.youtube.com/watch?v=uia0PQy5ksg',
      to: <user_id>
      );

【讨论】:

这仍然无法解决 OP 的 “不打开任何 UI 并点击发送”的标准 你是对的。至少它解决了每次输入朋友名字的问题。但除此之外,不打开对话框就无法使用 webkit 发送消息。 +1 因为我可以将 app_id 添加到字段中,并且用户名出现在对话表单中。不打开对话框就可以发送吗? 恐怕不行。 这是正确答案,没有别的办法。不打开 ui 也无法发送消息,并且您的朋友必须先授权您的应用 - 之后,您可以将他的应用范围 id 用于“to”参数。【参考方案2】:

因此,根据文档,您需要为您的呼叫提供带有用户ID的to:参数,但我不知道这是否会阻止消息对话框出现

https://developers.facebook.com/docs/sharing/reference/send-dialog

【讨论】:

+1 因为我可以将 app_id 添加到字段中,并且用户名出现在对话表单中。但它仍然显示对话框。不打开对话框就可以发送吗? 也许如果你对display 参数进行更多挖掘,并且如果可以自定义它,虽然我担心它不是

以上是关于在脸书上发送私信的主要内容,如果未能解决你的问题,请参考以下文章

迅速在脸书上分享

在脸书上寻找共同的朋友

JavaScript 在脸书上分享

在脸书上张贴一张照片

如何在脸书上创建应用程序

Discord - BOT 发送私信