Is there a way to insert an @mention into a Facebook status update posted with pyfacebook?

不问归期 提交于 2019-11-30 15:42:36
Korayem

Mention it's partially available by open graph now. You can use only when posting an open graph ACTION

Check: https://developers.facebook.com/docs/opengraph/mention_tagging/

It seems still impossible to use @mention tagging in classic feed posting via API

I've also been looking for an answer to this. The facebook website uses the format:

@[139730900025:PhotoGrabber] is awesome

to represent the links but I haven't been able to make that work. I re-posted a thread on the facebook forum under the "Stream" category since your post wasn't getting any attention:

http://forum.developers.facebook.com/viewtopic.php?id=47885

I'm pretty sure this is impossible at the moment. If it were posible by using the format that tam7t suggested it should work... Your best bet is asking them to add that to their api stream parser.

This is not possible at the moment, sorry.

AFAIK facebook's API does not allow this. The only approach that I know of at the moment would be to write a screen scraper to do these posts using the format described by tam7t's answer. If you use the mobile version of facebook's site (m.facebook.com) it makes it much easier.

NOTE: This might be a violation of Facebook's Application TOS.

Edit: Here is some ruby code that will do the trick, using the 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

NOTE: Obviously (as tiagoboldt kindly pointed out) it would be wrong to store / utilise the credentials of other people in your application. This approach would only be appropriate for making posts from a facebook account that you controlled.

That said, back to the original question of putting an @mention in a wall post, I have noticed that whilst the post and @mention go up on the wall fine, this method does not propagate the post to the mentioned user/page's wall. Not sure if that is important to you.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!