I'm trying to implement a Facebook Share widget which will be a link(button) on a client's page. When user clicks on "share" button, dialog will show up, populated with the information(caption, description, etc.) received from our server.
I've tried using Feed Dialog to accomplish this task.
I've gone as far as: - registering my application with Facebook and getting my application ID. - placing feed dialog code onto the test page which is currently located on my local machine.
So, currently my application points to localhost url.
Everything works as expected as Site Url and App domain are set to my local machine url. However, for our purposes we need to trigger this dialog from many different client's pages. So, those URLs will always be different.
I was thinking to use https://www.facebook.com/sharer/sharer.php however, as far as I know it doesn't have a callback function which we also need to have.
Do you have any advise on how this can be implemented?
Related
I am working on a page tab application and am having an issue with navigation. My application, written in MVC3, is displaying and authenticating just fine as a page tab. When I click on my tab, my app receives a POST with the signed_request object as expected.
My question is, how can I support links to other pages in my application? When a user clicks on a link, I want an action to be called in my application and to not leave the Facebook iframe. In addition, I need the signed_request to be passed along so I have a user context.
At first, I thought this was not supported and that all page tab applications had to be written as Single Page Applications. However, I found examples that do exactly what I am looking for.
Click on an image:
https://www.facebook.com/Sephora/app_305927716147259
And:
http://woobox.com/pinterest
How are these apps handling page navigation within the iframe?
The performance of clicking on an image seems to be pretty bad. What are they doing behind the scenes and is there a more direct way of handling navigation?
I will also need to handle POSTs.
Thank you.
When a user clicks on a link, I want an action to be called in my application and to not leave the Facebook iframe.
Well, that’s what normal HTML links do – so no extra effort required at this point :-)
In addition, I need the signed_request to be passed along so I have a user context.
You could pass it as a GET parameter with every link – but this way the user can easily “see” it, and it might also get transfered to external servers (if any external resources are embedded within your page) via the HTTP referrer.
The better solution IMHO is store the signed request server-side in your session (parsed already, if you like), so that you have access to it on the following pages of your app.
I have been trying out the spring-security-facebook plugin and so far its been smooth. I am able to use the facebook login button and have also created the FacebookAuthService for some custom processing - in creating my own user object and associating it with the facebook domain object.
However, what I want to do is integrate the button with the auth.gsp provided by spring-ui. I was able to take the first step in this and the button now appears along with the regular login form. However, on clicking on the FB login button, I want the workflow to be the same as that of the regular spring flow.
Are there any pointers for this?
I assume I will need to stop using the facebookAuth:connect tag and instead build this part of the flow using javascript - but how do I get the logged in user now connected to spring so that on clicking the FB button, the page then goes to the page that I was earlier trying to access before spring security redirected me to the auth page?
Any directions for this would be much appreciated, thanks.
Spring-Security-Facebok plugin uses cookies provided by Facebook (set by JS SDK after auth). I mean there is two steps: first step is when user is logged into app on client side (done by javascript), and second when page is reloaded and server login user on server side too.
Probably you can make your own Javascript event listener on 'auth.login', and redirect to requred page. User will be authenticated at this point.
I'm attempting to develop my first Facebook app that is designed to allow clients of our website to sell tickets to their events from their Facebook page as well as from our website. So when the administrator of a Facebook page adds our app as a page tab, I need to be able to find out who they are so I can load the relevant event data. There also needs to be additional include/exclude configurations and various other options, which will affect the behaviour of the app.
So my question is how is this situation best handled? When playing around with a basic sandboxed app, I seem to be able to just add the app directly to a page; there is no prompt for configuration, and I can't see any way of defining custom properties.
Is the 'edit_url' property the only way to achieve this? If so, is there a way of automatically directing the page admin to this link upon initial use?
Decoding the signed request recieved in your page will give you more insight.
From this you can retrieve page admins' UID's.
You'll need to manage the rest on your side...
In order to get the user id the user will have to grant your application basic permissions.
I'm currently doing a somewhat similar app and, just like Lix said, I used the signed_request variable to detect the page where the tab is installed. Then, based on the page's ID, I retrieve the proper content.
To also give your users an admin page, add a Page Tab Edit URL in your app configuration where you can redirect your users to a custom panel where they can edit their app.
Our project is a Web application. We want to add Facebook Like button on our web pages. To test the functionality of Facebook Like works, we want to write some cucumber automatice functional tests.
The problem is, if a user (either real user or automatic test) click the Facebook Like button, the web page will send a message to Facebook server. And then Facebook server will callback to this web page to get some information (title/image/url/type etc, which are write in web page header meta tags). But our tests are running in local server, consequently the Facebook can not access. So there be something wrong.
So I'm wandering is there a solution to solve this problem. (Maybe not only for Facebook, but also any situation we want conversation between other systems and our local server)
In order for a Like Button to work, it has to be able to connect to the Facebook servers. There's no workaround, short of capturing the request and returning information, but I'm not even confident that would work. Can you not do the testing on a development server that can be accessed from the web?
You could .htaccess it so that only your team and the Facebook servers could connect to it.
We're trying to develop a widget that uses Facebook APIs and other websites (e.g different domains) could embed. We do not want every website to create it's on Facebook app but we'd like everyone using this widget to be connected to our Facebook app.
The problem is that Facebook seems to authenticate only a specific domain for an app (Canvas URL).
Ideas?
Guy
Update: I just realized that for Facebook server API as long as I set the redirect_uri to a valid URL (as defined by the site url) then everything is OK. So I can let my widget call the login and set the redirect_uri to some page we hold on our server that will communicate with the origin. So far so good. Now the problem that remains is whether there's a way to do it using the Facebook JS sdk rather then having to invent the wheel. From what I see there I could find a way to make the JS SDK not use the window.location.href. Ideas?
you just need to create the app, then from the profile site of your app there is an link to let users add the app to their page. (this is also possible via a special link (see the docs))
but be aware, one page can only include your app once. so if you like your "customers" to have your app multiple times on the same page you have to create multiple apps but point the canvas and tab url to the same script.
The other way would be to add child applications directly for the user, so you can let your customers even set a customized icon. This is hard to code couse you have to use old apis (newer one doesnt support the functions anymore) and there is none to null documentation for it. (I have such an app running, if you want to see some examples drop me a note)