Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Facebook Send dialog with API Error code: 100 ('link' is invalid)

Tags:

facebook

I want to provide users with the ability to send money to their Facebook friends through our app (Exvo) by the means of sending an URL to the invitation page via Facebook.

I'm using the 'Send' Facebook dialog (with a redirect to the Facebook webiste). The exact url I'm redirecting the user to is (to field has been redacted):

https://www.facebook.com/dialog/send?app_id=637466739616439&description=You+can+create+an+Exvo+Account+to+accept+this+money+transfer.&display=page&link=https%3A%2F%2Fwww.exvo.com%2Finvitations%2F9fb77bda665f0ae8f58843daec80a29b&name=Pawe%C5%82+Go%C5%9Bcicki+would+like+to+send+you+0.01+EUR&picture=https%3A%2F%2Fthemes.exvo.com%2Fstylesheets%2Fimages%2Fcustom_images%2Flogo.png&redirect_uri=https%3A%2F%2Fwww.exvo.com&to=username

This present me with a Facebook 'Send' dialog. When I type a custom message and press 'Send', I'm presented with this error:

API Error Code: 100
API Error Description: Invalid parameter
Error Message: 'link' is invalid.

The link param (extracted from the above URL and decoded) is this:

https://www.exvo.com/invitations/9fb77bda665f0ae8f58843daec80a29b

which is a valid URL, returning a proper 200 response. Using the Facebook debugger I can see that the provided URL does not generate any errors:

https://developers.facebook.com/tools/debug/og/object?q=https%3A%2F%2Fwww.exvo.com%2Finvitations%2F9fb77bda665f0ae8f58843daec80a29b

Only warnings about inferred properties (I have added those at one point as well, but it did not help).

Also note, that once in a while (like 1 in 10), when I click 'Send', the message gets through and I don't see any errors, which makes it even weirder.

Why is this error happening? What am I doing wrong?

like image 465
Paweł Gościcki Avatar asked Aug 02 '13 11:08

Paweł Gościcki


1 Answers

This might not have been the problem in your case, but just for discoverability: make sure that the URL you are sharing is publicly available on the internet (i.e. not within your firewall or on a local computer). FB needs to visit your URL to verify its authenticity.

like image 106
jsoc Avatar answered Oct 10 '22 22:10

jsoc