3

アプリケーションに次のようなコードがあります。

message = "Hi, @John Doe!"
postID = fb.stream.publish(
    message = loader.render_to_string('wall_post.phtml', {'message':message}),
    action_links = simplejson.dumps([{'text': "Check out blah", 'href': "http://blah.dev"}]),
    target_id = 'nf'
)

メッセージ文字列で facebook の @mention を表す方法はありますか?

4

5 に答える 5

4

私もこれに対する答えを探していました。Facebook Web サイトでは、次の形式を使用します。

@[139730900025:PhotoGrabber] は素晴らしい

リンクを表すためですが、私はそれを機能させることができませんでした。あなたの投稿が注目を集めていなかったため、Facebook フォーラムの「ストリーム」カテゴリにスレッドを再投稿しました。

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

于 2009-12-19T17:12:30.223 に答える
1

現在、オープングラフで部分的に利用可能であることに注意してください。オープングラフACTION投稿時のみ使用可能

チェック: https://developers.facebook.com/docs/opengraph/mention_tagging/

API 経由の従来のフィード投稿で @mention タグを使用することはまだ不可能のようです

于 2012-11-07T20:51:48.820 に答える
0

AFAIKfacebookのAPIはこれを許可していません。私が現時点で知っている唯一のアプローチは、tam7tの回答で説明されている形式を使用して、これらの投稿を行うためのスクリーンスクレイパーを作成することです。Facebookのサイト(m.facebook.com)のモバイル版を使用すると、はるかに簡単になります。

注:これは、Facebookのアプリケーション利用規約に違反している可能性があります。

編集: MechanizeGemを使用してトリックを実行するいくつかのルビーコードがあります

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アカウントから投稿する場合にのみ適切です。

とは言うものの、壁の投稿に@mentionを配置するという元の質問に戻ると、投稿と@mentionが壁にうまく表示されている間、この方法では投稿が言及されたユーザー/ページの壁に伝播されないことに気付きました。それがあなたにとって重要かどうかわからない。

于 2010-10-26T02:42:08.340 に答える
0

現時点ではできません。申し訳ありません。

于 2010-08-18T15:57:51.380 に答える
0

現時点では不可能だと確信しています。tam7tが提案したフォーマットを使用して可能であれば、それが機能するはずです...あなたの最善の策は、それをAPIストリームパーサーに追加するように依頼することです.

于 2010-08-14T06:51:04.137 に答える