AFAIK facebook 的 API 不允许这样做。目前我所知道的唯一方法是使用 tam7t 的答案描述的格式编写一个屏幕抓取工具来完成这些帖子。如果您使用 facebook 网站 (m.facebook.com) 的移动版本,它会更容易。
注意:这可能违反了 Facebook 的应用程序服务条款。
编辑:这里有一些 ruby 代码可以解决问题,使用Mechanize Gem
require 'mechanize'
agent = Mechanize.new
agent.user_agent_alias = 'Mac Safari'
page = agent.get('http://m.facebook.com')
form = page.forms.first
# enter credentials
form.pass = 'user password'
form.email = 'user@example.com'
page = agent.submit form
# go straight to page to post on
page = agent.get("http://m.facebook.com/wall.php?id=PAGE_ID_NUM")
form = page.forms.first
form.message = "@[139730900025:PhotoGrabber] is awesome"
page = agent.submit form
注意:显然(正如 tiagoboldt 善意地指出的那样)在您的应用程序中存储/使用其他人的凭据是错误的。这种方法仅适用于从您控制的 Facebook 帐户发布帖子。
也就是说,回到将@提及放在墙上的原始问题,我注意到虽然帖子和@提及在墙上很好,但这种方法不会将帖子传播到提到的用户/页面的墙上。不确定这对你是否重要。