Facebook graph API 2.1 signed request values - facebook

I try to use new Facebook graph API now.
I have a page tab application.
So in old API (1.0) i just Pars a signed_request parameter and took out of it page.liked parameter to determine if user liked my page or not.
In new API i get parsed signed_request like this:
{"algorithm":"HMAC-SHA256","issued_at":1407738045,"page":{"id":"xxxxxxxxxxxx","admin":true},"user":{"country":"ru","locale":"en_US","age":{"min":21}}}
On Facebook documentation i find: "This field will no longer be included for any app created after the launch of v2.1 (August 7th, 2014), and will be permanently set to true for all other apps on November 5th, 2014"
So how i can know in new API if user liked page?

Its now against's Facebook's policy to gate access to an app or content within an app based on if the user has liked a page. See https://developers.facebook.com/policy
As part of this, they've removed the technical ability to determine if the user has liked the page when an app is rendered in a page tab.

Related

How can I use Facebook SDK or graph api to get user had liked a Facebook fan page

I would like to develop button which can like a facebook fan page
But when I search from google, Facebook used to have a edge.create event but it had already been deprecated and the appEvent will also deprecated in July 2022, may anyone has any idea on how to achieve or Facebook now do not allow to query for that?
and I try to do research on the facebook development document
https://developers.facebook.com/docs/graph-api/reference/v2.1/object/likes/#------2
the closest solution seems like this one I created a fan page for replace the object id by the fan page id but fail and got the following error
Application does not have the capability to make this API call
Is there anyone have any idea?

Subscribe to Facebook Page photos using Pages API webhook

TL/DR;
With page webhook in place, if I upload new photo to the Page via Photos Facebook notifies my webhook. If I do the same on page timeline — it doesn't.
Details:
I want my application to receive new posts from some public Facebook page. Posts may have a photo attached or may not.
What have I done:
In my Facebook app settings I've created a Page Subscription in Webhooks section. I've chosen 'feed' field.
I've subscribed my app to the target page using "/subscribed_apps" endpoint. Page access token with "manage_pages" permission was used for that.
Problem:
Facebook is calling my webhook and my app receives text posts from the page, so basically subscription works. But if I attach an image to the post, Facebook doesn't trigger the webhook. I don't see any other sensible field to choose for Page Subscription and I've tried almost all of the other fields as well with no luck.
I'm stuck. It looks like I need to fine-tune some permission somewhere, but just don't see which else to try. Is it ever possible to subscribe for new page photos?
UPD:
If I upoad new photo via Photos Facebook notifies my webhook. If I do the same via page timeline — it doesn't. Looks like a bug
UPD2:
Fixed by Facebook team. Now works as expected
Well, this is confirmed bug in Facebook Realtime API: https://developers.facebook.com/bugs/1740620369486641/
UPD:
Fixed by the Facebook team. Now subscription works as expected

Facebook: How to post on own page using graph api without login

I own a blog like website, and as part of promotions I have a corresponding facebook page. My website contents are dynamic & when it gets updated(through a bot), I want the facebook page also to be updated by an automated post/publish from the bot which shows up the updates to the page viewers.
I could create a facebook page, and my bot programme which updates the web content is also able to publish the content on my facebook page using graph apis. But the posts are not publicly visible(Visible to only me/admin).
I could learn that it could be because my app through which my bot program is publishing to my facebook page is not public.
App->Status & Review, Status (Tab)
(Do you want to make this app and all its live features available to the general public?).
To make the app public, there is a review process which checks the facebook login button used in the website but my posts are through a backend bot and not through user action. My website is like a blog without user authentication so can't think of adding a login there.
Is it possible without having user login on the page? Also, If I post using twitter apis and link/configure my twitter account to my facebook page, it works.I guess this is not a new problem and many brands have automated it already, so need to understand how.
Am I missing something?
Apologies: I have checked previous posts on the same topic, but couldn't find relevant answers for the current Facebook version & policies.
Without the Login Review process, your posts can not be visible to the public.
To get it working, just send your page management tool (with the login dialog) for the review. Once they review it and accepted, you may change the flow a bit eg: skip the login part and allow auto posting.

Posting to a Facebook page on behalf of page using a Facebook application by anyone

I have a web page linked to a Facebook application where users can log in by their Facebook account.
I have also a Facebook page for my application where anybody can post.
What I'd like to achieve is the following:
- An ordinary user logs in to my web page using her Facebook account,
- She adds an information to my web page (for example a book name),
- That information is instantly posted to my application Facebook page under page's name (for example "this book is read by someone").
I don't want it to be posted by the user, I don't want it to be posted by myself (admin of the page).
I don't want to mention about the user, it will be anonymous information.
But I couldn't find a way to do it either as JS or PHP.
Any suggestion is welcome.
Many thanks.
You will need to get a page access token. https://developers.facebook.com/docs/facebook-login/access-tokens/
Get it, store it somewhere on your server – and then use it when making the API call to post what the user entered.

Can Facebook SDK allow for iOS app (linked with a facebook app) to post directly to a particular page?

I am trying to make an iOS app integrated with the Facebook SDK that allows the user to post directly to a facebook group page and receive updates directly from the group page through the app, as an alternative to the facebook app.
I know that the Facebook dialog class in the latest SDK allows us to share a status directly to one's wall but I have yet to find a way to post it to a page other than the user's wall. Is there a way to gain access to a facebook group page and retrieve the posts from the page and also post directly to it?