0

Looking at these 2 articles:
Like: https://developers.facebook.com/blog/post/465/

You can publish stories to people who like your Open Graph Page the same way you write a Facebook post from your own wall. The stories appear in the News Feeds of people who have clicked the Like button on the Open Graph Page.

You can also publish using our API. If you associate your Open Graph Page with a Facebook app using the fb:app_id meta tag, you can publish updates to the users who have liked your pages via the Graph API.

Follow: https://developers.facebook.com/docs/opengraph/actions/builtin/follows/

Similar to the ability to subscribe to a user's posts on Facebook, users can now follow other users' Open Graph activities from a specific app. For example, on a movie review site, users can follow their favorite movie reviewers. When a user follows another user in your app, all of the content published in your app by the publisher is eligible to be displayed in the follower's News Feed even if they are not Facebook friends (as long as the privacy on the actions published allows the follower to see the post):

It appears that in both cases you can create an Open Graph object that lives outside of facebook and either "follow" or "like" it. Using one example provided in the articles you could for example make that object be

http//www.rottentomatoes.com/celebrity/tom_hanks/

If you decide to "like" Tom Hanks on the site, the page can publish news about Tom Hanks and they will show up in your News feed. (Assuming all permissions are ok, no worries there).
However if you decide to "follow" Tom Hanks on the site, if I understand correctly the requirements posted by facebook:

In this case, the document returned by fetching the URL should have an fb:profile_id meta tag which represents the Facebook ID of the user:

<meta property="fb:profile_id" content="lbRw_a8fwsz8u7a_-iL5bCxjJ8w" />

We recommend that the content of this field be the third_party_id of a user, which can be retrieved by adding ?fields=third_party_id to the request URL when retrieving the user's information, and described in the documentation for the Graph API User object.

This tag is not required, and follow actions will succeed without it, though followers will not see activity in their News Feeds without this.

since the page lives outside of Facebook, it won't have a third_party_id and therefore if the site publishes news about Tom Hanks, you will not see that news appear in your News Feed.

Is there any reason why things behave like this?

4

1 回答 1

0

与 Like 类似,Follow 最初发布一个故事。然而,Follow 允许应用在您的应用上下文中在两个 facebook 用户之间建立“订阅”关系。考虑下面的示例,该示例还说明了如何third_party_id使用来创建这种关系:

假设 William 在您的应用中关注了 Claudette,并且您的应用成功在 facebook 上发布了关注操作。无论您是否提供 Claudette 的third_party_id信息,William 关注 Claudette 的故事都将在 William 的 News Feed 上发布。

但是,如果third_party_id提供了 Claudette's,那么 William 将开始获取有关您的应用程序发布的 Claudette 的所有操作的故事。现在,这很酷。但当然要做到这一点,Facebook 需要知道“克劳黛特是谁” third_party_id

总而言之,通过不提供third_party_id后续操作,William 的新闻提要和可能会分享给 William 的朋友。但那是一次性的。通过提供,third_party_id您可以扩展病毒式传播并确保从 Claudette 到 William 的持续流动,以便 Claudette 在您的应用程序上执行操作。

于 2013-03-01T05:28:03.970 回答