Facebook won't display images, when website link is inserted - facebook

So,
I have this joomla-based website MAIS +, and every time I share an article on Facebook, either from it (site) or directly on Facebook, an image is not inserted.
I have tried the Facebook debug tool and what I got was this
![Facebook Debug Tool][3]
Problem is, what to do with this information?
I don't get it!! :(

Well in the Facebook debugger, it's returning a 403 error which if you read here;
http://en.wikipedia.org/wiki/HTTP_403
A web server may return a 403 Forbidden HTTP status code in response
to a request from a client for a web page or resource to indicate that
the server refuses to allow the requested action. In other words, the
server can be reached, but the server declined to allow the requested
access.
This may mean that your server could be blocking the Facebook server's from accessing your URL. Check your firewall with your hosting provider to see if any blocking is going on.
If you look at what Facebook see's of your URL;
http://developers.facebook.com/tools/debug/og/echo?q=http%3A%2F%2Fwww.mais.co.mz%2F
It states;
Document returned no data
Here's a solution - Facebook debug returns 403 Forbidden

Related

HTTP Response 503, however site works

At this moment I'm working with the Facebook API; I Need to fill in a Privacy Policy, so I did. However, after some research I discovered that the HTTP Response code will always be 503, But I can't find out why. The page is there, and when visiting it in a Browser it works, with no problem at all. Running a check, shows me that the page returns a 503 to facebook and any other request (For example. https://httpstatus.io/).
I use cloudflare, nothing more. Why am I getting a 503 Response, but the page is just working fine?
It is possible to have 503 only when robot is visiting the page. Try to simulate Facebook User Agent from your browser or rest client.
You can check Facebook user agents on developers facebook page:
https://developers.facebook.com/docs/sharing/webmasters/crawler
Cloudflare could be the cause of your problem, because it blocks bad robots (Facebook should be good robot). Try to disable it and see if it works. If this is the problem, you need to contact Cloudflare support.

Facebook pinging deauthorize callback url with the wrong request

I'm working on a facebook tab app. I need to know when the user uninstall the tab app from their page so that I can update my database. While facebook documentation do not specify how that can be accomplished I read that facebook would ping your deauthorize callback url.
On facebook documentation, they say that they will ping the url with a post request sending a signed_request (https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow#logout), but whenever I remove the tab app from a page facebook send a GET request to my callback url without any signed_request, which doesn't help me to know which page had the app uninstalled.
Access log from my apache server
The 302 redirect is happening because there is no signed request.
What should I do? I can't query all the pages on my database to find out which one had the tab uninstalled because it wouldn't scale, I would need the manage_pages permission and there is no way, without a signed request, to know that the request came from facebook.
Try changing the callback URL to SSL. We had this issue earlier this year and when sending to http:// it was always a GET request but once we changed it to https:// it was changed back to a POST request with the signed_request in the body.

Facebook App webhooks: Callback URL & Page tab

Hi I am held up with couple of problems from past couple of days. Please can anyone help me out.
I want to get the real time updates of my facebook page. I created an App & added it as the Page tab but I am getting the below message when i clicked the tab in the facebook page.
Method Not Allowed Error 405
Also when subscribing the real time updates/webhooks in facebook, is it necessary to give domain name/callback.php in callback URL? I mean I just want to test the flow right now and don't want to buy a domain for testing.
Also when i am putting this https://graph.facebook.com//subscriptions?access_token=****
I am just getting
{
"data": [
]
}
Subscribing to a page for updates is not done by installing it as a page tab app any more, but by making a POST request to /page/subscriptions
Method Not Allowed means your server did not accept a POST request to the URL. Facebook makes a POST request to load an app into a page tab. If you tried to use that same URL as your webhook callback URL, you need it to accept POST requests as well.
Of course the URL needs to be reachable from the outside, otherwise Facebook could not make a POST request to it. As far as I know Facebook does not accept IP addresses, you need to use a domain name. Plus, webhooks now require an HTTPS URL, with a valid SSL certificate. Self-signed certificates are not accepted, so you practically have no other choice than to use a "real" domain, dyndns or something won't work.
That's because you have not actually subscribed your app for updates of the page. Again, that has nothing to do any more with page tabs, it needs a POST request to that endpoint.

Facebook RealTime Updates not reaching our Heroku Server in https:// and 301 redirected otherwise

I'm trying to implement Facebook's RTU functionality to subscribe to page's conversations. So far I've gotten through all the steps - creating an app, subscribing to a page's conversations, connecting the page to my web-app. RTUs work on my local, but not on my Heroku app.
Here's a link to the facebook bugs page:
https://developers.facebook.com/bugs/822517191155290/
Here's how far I've got:
When I enable the Facebook App to send POST requests to:
https://..../fb_callback (https), we don't see anything in the logs.
On the other hand, when I enable the app to send POST requests to:
http://...com/fb_callback
I see that the request comes in and then there's a 301 redirect.
My guess is that the 301 redirect is to https... but I'm not sure of this.
What I can't figure out is why I can't see the POST requests to our log when they're sent to https.
Thanks for your help.

Issue with access token provided by App

We recently launched a new app, and one of the features was to provide a discount if a user had liked a particular page. I had successfully tested the functionality on numerous accounts, and we went ahead with the launch. We used the graph API to retrieve a list of all pages they'd liked, and checked if the desired page was in there:
https://graph.facebook.com/me/likes?access_token=ACCESS_TOKEN
We've had some users contacting us and alerting us that they weren't seeing the discount even after they'd liked the page. We were able to request the details for one of those accounts, and observed the following.
When the app is authorised, Facebook sends them to our website with the access token in the HTTP request (which we pull for graph API calls).
https://example.com/?ref=ts
POST /?ref=ts HTTP/1.1
...
Set-Cookie: fbs_uid=%22uid3D%26access_token%3[ACCESS_TOKEN_REMOVED]%26expires%3D1318381200%26sig%3Dd0b6fdf09befedf022cdea8b58887348%22; expires=Wed, 12-Oct-2011 01:00:00 GMT; path=/
So you can see the access token in there. What's strange is that when we try to make the API call with the access token provided by Facebook, it returns an empty result (even though they've liked pages) again - this is only for certain accounts. What's even more confusing is that when we go to the Facebook Developers page while logged in as the same session (https://developers.facebook.com/docs/reference/api/) and click the /me/likes link, we get a complete list of the user's likes, but with a different access token.
So it appears that the access taken provided for Facebook is insufficient in pulling the data. This only affects certain accounts and not others, so I'm wondering if there's some form of configuration issue, but from where I stand I don't see any way of resolving it, since the data provided by facebook appears incorrect.
With the access token provided by Facebook, we don't get any errors (i.e. we don't get an "Error validating access token"), so the access token does validate.
Lint your access token that is not working and see what Facebook has to say about it. It might give you clues as to what is incorrect.
https://developers.facebook.com/tools/lint