I am trying to embed a widget for a 3rd party Facebook "Place".
It seems that widgets only work for "Pages" or "Profiles", but not Places.
The place is being actively managed, it has posts from its owner (it's a hotel), so it's not one of those "automatically" created places.
All widget results for the place come up empty. If I try a Page or Profile, they work normally. So it's not code-related, it has something to do with the Facebook's categorization as "Place".
Are there any widgets that can be used for Facebook "places"? I'm more interested in the "page" widget: https://developers.facebook.com/docs/plugins/page-plugin
The place i'm referring to (not that it matters): link. Notice how there are recent active "page-like" posts.
Places are pages.
But the page in question is access-restricted somehow (age, location, ...), and the Page Plugin only works for fully public pages with no restrictions whatsoever.
https://developers.facebook.com/docs/plugins/page-plugin#privacy
Is there something I can check against in order to verify that the page is public?
You mean in an automated way? Well, if you have the page id or page username, you can use those to make an API request - using your app access token. For pages that are restricted in any way, that will return an "Unsupported GET Request" error message.
Related
I made a website where people can post links for other websites and then the backend generates a preview of the link (by using curl and parsing out the open graph tags available on most websites / by picking the first image, html title etc). Now, fine after some tweaking but sometimes I get some kind of rate limit.
Here is one example of a link I want to parse: https://www.facebook.com/HBR/posts/10157131816732787
I can parse it 4 ou 5 times and get a title, image etc but then if I repeat it I get sent to the login page of facebook. How can I avoid this?
I tried to parse the link at https://developers.facebook.com/tools/debug/sharing however it says "Facebook URLs cannot be crawled". So my question is: how am I even supposed to parse those links if they don't even allow it on their debugger?
Is there any kind of API that allows me to get this information without user login? I don't want to parse entire facebook pages, profiles etc, just get a preview for a link that my users might post on the website.
You MUST use the Facebook Graph API if you want to get data of Facebook Pages (or anything else on Facebook), scraping is not allowed.
In order to get data of Pages you do not own, you need to apply for Page Public Content Access: https://developers.facebook.com/docs/apps/review/feature/#reference-PAGES_ACCESS
An App Access Token (without Login) is sufficient in that case.
API Reference for Pages: https://developers.facebook.com/docs/graph-api/reference/page/
I dont think show.You can crawl post on public group using python selenium and beautiful soup
Auto generated Facebook page is misplaced.The wiki description,photos and Facebook posts(99%) are related to another place rather than one on map. The name of the city is Poti, which locates in Georgian and not in Brazil.
Moreover, the people at that place are marked as they were in Brazil(in Facebook iOS app, friend nearby)
This is the correct page of the city(except bizarre name P'ot'i.
And This page has no coherence to wiki data, and the people tagged on this place are from Georgia,as it is the first result in place suggestions
How can it be solved?
You can resolve this by taking control of the auto generated Facebook page and editing the false information yourself.
If you don't yet have a Facebook page for your business, you can claim the auto generated one
If you already have an official Facebook page that you have control of but you want to get rid of the "false" one, you can request a merge
I tried googling & checking stackoverflow for the possible solution but haven't found any yet, so would like to bring it up here again.
I have a Facebook page, page has multiple tabs, and one of the tab has a Facebook App (accessed only through the tab, redirect the http://apps.facebook.com/myapp to the page tab)
I have some content (say non-fan content) to be displayed to the user before he likes the page.but, I don't have any way to check if the user has liked the page unless he adds the app & fb documentation has stuff that can give me the required like FQL page_fan, url_like, api(/me/likes/FACEBOOK_PAGE_ID) but each one of this needs an accesstoken (which I cannot get before the user adds the app).
some of the posts on stackover flow says that is not possible without getting the user to add the app. but there are apps like static html, static iframe & others which provides this functionality, how ?
Please advise.
Facebook will POST a signed_request to your server when the user opens the page tab.
This is what you get when you parse the signed_request:
{
"algorithm":"HMAC-SHA256",
"issued_at":1309468031,
"page":{
"id":"xxxxxxxxxxxxxxx",
"liked":true,"admin":true
},
"user":{"country":"fr","locale":"en_US","age":{"min":21}
}
The important part is "page.liked" where you see if the user likes the page.
No permissions and no app authorization is needed for this to work.
Search the web about parsing the signed_request in your favorite web programming language i.e. php.
I have implemented the like button on a website. People have liked the website, and I have the option to administer that open graph object. However, on the administration page I see the following notice:
Administer Your Page
This is the administration interface for your
webpage at [...]. You can see Insights and
publish to the users that have liked your webpage. Only the
administrators of the webpage can view this interface, other users are
sent to the webpage.
This is a ghost page, because, as the notice says, only the administrator(s) can see it. I don't want the behavior of users being sent to my website. I want them to be able to stay on Facebook and see this page, just like they would see and interact with another business page.
Is there a tool or a request form to do this kind of migration (i.e. from an open graph page to a normal business page)?
I have researched for about two days for this issue, but I have not found any leads.
According to this help article, you can merge two facebook pages into one. But the constraint is that you can merge to a page with higher likes only, and the page with fewer likes will be removed. I am not sure if it works for ghost pages or not.
Shef, let me try to answer:
if you have an app myapp, that is canvas url https://apps.facebook.com/myapp
then you will have an application profile page: http://www.facebook.com/myapp [*]
So if a search your app from google or facebook, then they come to first this page,
and if they click go to app, they reach to your app.
However if you have just implemented like url: myapp.com/myitem=1
then you will have this "ghost" page. You need this ghost page, because you need somewhere
to administrate your likes
So you are asking a real page instead ghost, well this is hard to implement this request by facebook guys. Because there is like link to refer some url. So there must be some pop up asking user: 'Do you want to follow link or go to business page instead'
[*] username is not available anymore for facebook apps. see How to get name of facebook application page?
You can use the ref parameter while specifying your like button. This ref parameter will be set by Facebook, for all url's/links that appear on Facebook, i.e wherever this like action is displayed with the link to the url liked by the user. So you know when a user visits your page through Facebook. Check the following from this link:
ref - a label for tracking referrals; must be less than 50 characters and can contain alphanumeric characters and some punctuation (currently +/=-.:_). The ref attribute causes two parameters to be added to the referrer URL when a user clicks a link from a stream story about a Like action:
fb_ref - the ref parameter
fb_source - the stream type ('home', 'profile', 'search', 'other') in which the click occurred and the story type ('oneline' or 'multiline'), concatenated with an underscore.
Upon calling your url you can redirect the user to the page on Facebook that you want. Business pages on Facebook have a particular url, of course, and you can easily do the redirect.
I don't think that you have an option to migrate an open graph page to a normal business page. You can however create your page, and give it the same name as your website. The draw back here would be when users like your page on Facebook, you won't be able to accumulate the likes already garnered by your website.
EDIT
Take a look at the like box plugin (Facebook doc here ). It can be used to like pages that are on Facebook itself, from external websites. This way you will be able to accumulate your likes. You can also modify the plugin to look like a like button, not fully but almost. But you still end up creating a new page. And the old likes will not be available.
Facebook has "pages" for many things, like people, companies, etc. But it also has this open graph protocol. My company already has a web site, and we also have a facebook page (i.e. http://www.facebook.com/company)
People can "like" either one. We use a like iframe on the company website that refers to the website URL. I'd like to know if they can be connected such that when someone likes our facebook page, they really like our company's web site.
Or are these always going to be considered two different things?
To elaborate on puffpio's answer, you can have a like button for your existing page on you website by using the existing page's facebook url as the href parameter.
It is essential that you do not put a like button to your url if you do not want your likes split between the two. In this scenario there is no reason to have an open graph object for your page other than to provide correct data when a user shares your url in their feed. It's important to note that these shares also count towards the counter on the like button and as far as I know there is no way to recover them.
You can also use this url as your og:url tag however this will cause the linter to throw errors since the domains do not match.
No. Page and website is something different and you can't force user to like both
They are different things, but a workaround is that the like button on the company's website can be a like button for their page on Facebook with a caveat like 'Like us on Facebook' or something