Facebook's "See First" feature enables users to reorder their feeds, in a way, that the posts of a specific page or person appears on top of their News Feed. This is an extra optional feature of following after subscription.
(This button becomes available after following a user / a page.)
After seeing Facebook's approaches with the follow button and the page plugin I still did not find this feature to be enabled in any way outside Facebook.
I am looking for any way to place this feature using the PHP, or JS SDK or with some iframe approach like the page plugin.
Indirect / tricky ways are also appreciated.
Why do I assume there might be a tricky way to achieve this, even though it is not exposed in the Graph API?
Facebook has approaches to give users full featured GUI-s outside Facebook. i.e.: The share method in the SDK provides users a full featured popup interface, where they can set the "who can see" permissions, even though changing share permissions is not an action achievable with any API.
I could easily imagine that there is a hidden/tricky way like this in some plugin or API outside Facebook.
Facebook's "See First" feature enables users to reorder their feeds, in a way, that the posts of a specific page or person appears on top of their News Feed. This is an extra optional feature of following after subscription.
(This button becomes available after following a user / a page.)
After seeing Facebook's approaches with the follow button and the page plugin I still did not find this feature to be enabled in any way outside Facebook.
I am looking for any way to place this feature using the PHP, or JS SDK or with some iframe approach like the page plugin.
Indirect / tricky ways are also appreciated.
Why do I assume there might be a tricky way to achieve this, even though it is not exposed in the Graph API?
Facebook has approaches to give users full featured GUI-s outside Facebook. i.e.: The share method in the SDK provides users a full featured popup interface, where they can set the "who can see" permissions, even though changing share permissions is not an action achievable with any API.
I could easily imagine that there is a hidden/tricky way like this in some plugin or API outside Facebook.
- What are you trying to do exactly? Grab your stream or in which method do you need the featured/setted order? I don´t know how your method : 'share' could be involved? – Sven Delueg Commented Jul 17, 2015 at 14:35
- I am trying to provide an opportunity for users on my experimental site to follow a page with this feature. – István Pálinkás Commented Jul 29, 2015 at 6:41
- Sorry, but what is so not-understandable with "It's not possible"? I don't think that the second bounty will change anything tbh... – Tobi Commented Jul 29, 2015 at 7:12
- I am sure, that many developers would find a working method useful, so I consider this a question valuable enough to support. i'd like to draw more attention, and motivate creative developers. In most cases, all they need is motivation. – István Pálinkás Commented Jul 29, 2015 at 7:39
- Well, good luck with that. Still, it would be against the platform policies and the TOS – Tobi Commented Jul 29, 2015 at 16:28
4 Answers
Reset to default 8 +125Graph Api 2.0+ is very restrictive and does not let you emulate a user's actions. The particular example of selecting "SEE FIRST" is a user action of altering preferences in edge rank algorithm to render his newsfeed. As per docs of graph api 2.3/2.4, there does not seem any way of achieving this with a graph api call or plugin.
That's simply not possible because this functionality is not exposed via the Graph API.
The Facebook 2.0 API is extremely restrictive (it's not cool, I know). They don't allow you to. If you really require this you can create a browser emulator, however this is against Facebook policies and they might get a little upset (the idea is: they restrict the API -> people have to use their website/apps -> they make more $$ from their ads)
Separate projects have been created to get around this issue. For example, the chat api has been removed. So this project has arisen: https://github.com/Schmavery/facebook-chat-api - there are plenty more like it.
Most things on Facebook use an ajax request. For example, to delete a thread a request is made to https://www.facebook.com/ajax/mercury/delete_thread.php
along with a cookie, csrf information, and other bits and bobs.
For what you're trying to do you will want to make a POST request to https://www.facebook.com/feed/profile/sub_follow/
with similar data:
id=...&action=see_first&location=1&nctr[_mod]=pagelet_timeline_profile_actions&__user=...
Otherwise there is no other way. However for several projects I've had to do it like this, it's not cool having to store passwords so make sure you're clear with your end users about that. Only do it if it's 100% necessary!
The only solution i can imagine is when the user will provide his E-Mail and Password for his FB-Account.
In this case you can run a webdriver perform needed actions "as" the user.
But this has nothing to do with the FB API or some plugin. I also think FB would be not happy seeing users giving away their credentials. And which user would do this just to follow a page.