Facebook Connect: with no javascript? - facebook

Is it possible to write a website that uses Facebook connect without JavaScript? I have a site set up that works great using XFBML but this (obviously) fails when I visit with JavaScript disabled.
I have a feeling that this is possible using the REST-api for Facebook but I'd still appreciate some pointers. There was a discussion about this on the Facebook forum.

I'm want to do the same thing. I'm not worried about people without js though, but the facebook-js-files loads very slow and that slows down my whole site. Facebook doesn't work without js so i guess everyone who want to login with facebook on your site supports js.
But to the question. In the PHP-lib there is one method called get_login_url that you can use to get a sign-in-url for your app.
$connectUrl = $fb->get_login_url("http://www.yoursite.com/loggedin.php",0);
So you can make your own connect-button that links to that url. Once the user signed in facebook will redirect him back to the url you specify. If the user is already online on facebook he will be redirected back immediately.
What i'm still missing though is a possibility to check if a user is signed in on facebook already without forcing the user to click a login button. Havn't figured out any way to do that without javascript yet but i'll let you know if i find something.

Facebook works perfectly fine without js. It acts kind of similar to twitter's oauth process. check out facebook's mobile api.
to login using a PHP varible:
where $url_accept is where to send the user if they accept the login and $url_cancel if they decline.
$facebook_login_url = 'http://m.facebook.com/tos.php?api_key='.$FACEBOOK_API_KEY.'&v=1.0&next='.$url_accept.'&cancel='.$url_cancel;

Related

Get the post feed of a public facebook page

I'm working on an app and I need to pull in the public posts from the page of a business. I do not want users to login or send any information back to Facebook, I just need the posts so they can be shown in a read-only format.
I've looked around and from what I've read, Facebook offers ways to authenticate your connection to the API, but for security reasons you shouldn't make the calls directly from your app. I've seen something called a client token mentioned, that is assumed to be insecure, but I can't find much mention of it outside of https://developers.facebook.com/docs/facebook-login/access-tokens. It says it can be found in the app dashboard, but I have not been able to find it.
How do you make a call to get the posts of a public facebook page from an iOS app?
I ended up finding something that wasn't quite what I was looking for, but still got the job done: Facebook Page Plugin
It lets you embed the publicly available feed of a Facebook page into a web page. If you want to use it in an app you can host the web page that has the feed code in it and then load it into a web view in the app.

How do I Automatically Request Facebook APP connect on links to website from FB

I apologize in advance, I have searched for 30 and cannot find.
There used to be a way that if anyone linked to your website via FB, Facebook requested Connect / Auth for your App before actually sending the traffic out to your website.
Did they pull this feature? Or an I missing a radio button?
(Ps, I know I can request on page load; however, I would prefer to use Facebooks method unless this has been removed.)
Cbroe's answer about authenticated referrals being depreciated is correct. There is no longer a way of doing this without triggering a rerral request
onLoad, etc.

Liking a page on behalf of a user?

I'm trying to get a user to 'Like' a page via the SDK. User is signed in and I get a valid access tokken form the cookie. My APP has asked for permissions read_stream and publish_stream. I can successfully do things like post to their wall, etc. But when my APP tries to 'Like' a page, I get the error back:
OAuthException: (#3) Application does not have the capability to make this API call.
Am I missing some other permission, or is there a setting I have to turn on in my APP? I'm at a loss here.
You can't like a Page on behalf of a user (Bugzilla discussion). You can, however, like posts, comments, and photos on behalf of a user.
Edit 7/9/2012
Since bugzilla no long exists, the bug linked above is inaccessible. Google doesn't have a cached version of the page, so I ran another search. The best thing I could come up with was this Google Code Discussion regarding the ActionScript API.
Facebook makes brief mention of Publishing likes via the Graph API in the documentation, but doesn't say one way or another whether you can like a Page on behalf of a user - just "Objects" which (probably arguably) are not "objects" in Facebook-lingo.
My thought is, the API to like page is available, but is only offered to white listed applications (such as, the Facebook iOS and Android applications) written by "special" publishers. There's obvious reasons why Facebook wouldn't want/allow developers to create like connections on the graph. It would be taken advantage of by spammers and other nefarious developers and would deteriorate the meaning of what a "like" represents for a page on Facebook.
My guess is, you'd have to make a pretty strong case to Facebook about why you need/want access to the Page's Like connection (for publishing) before they'd even consider giving you access. I'd also guess that they'd want to verify that you're doing only user initiated like creations (in such a way that the iOS application would handle it) so as to protect the reptutation/meaning of a "like" action.
Actually this is NOT true, but you have to do a complicated Javascript / UIWebView process in order to display a Facebook 'page' of JUST the like button on your view, and this like button you can configure in the JavaScript / Objective-C (using string replacement) to be any Facebook page url you like.
Facebook's platform policies don't allow for a web-based like button aside from using the officially supported options
Those options doesn't require using OAuth or the Open Graph api. However, facebook just added support for mobile apps to send like actions through opengraph.
I'm not sure if they intend to allow sites to customize their like buttons or just apps...
Liking works for me with the iOS SDK using the graph api:
https://developers.facebook.com/docs/opengraph/actions/builtin/likes/

Anyone know of a good tutorial for Facebook authentication?

I'm linking my app to Facebook, and would like people to log in with their Facebook account, but I can't figure out how to do this. I had read up on Facebook Connect, but it seems that that's not used any more - but every tutorial I can find seems to refer to it. When I try to follow them, it doesn't work, because the interface has changed.
So, can anyone direct me to a tutorial or guide to doing this the new way?
Basically, what I want to do is this:
A user who is signed into Facebook and comes to my webpage is automatically logged in to my app (with the usual Facebook 'granting permission' windows etc), or can sign in with their Facebook account if they're not already logged in.
I then want to use Facebook to link users with their friends who are also registered on my site, so they can share things.
I would also like to have access to Facebook comments made on wall posts from my site - so the comment stream for a particular post can be seen on my site as well as on Facebook, and comments can be made on either.
If anyone can point me in the right direction (or even tell me what I should be typing in to Google!) I'd be very grateful.
Thanks.
Some sample apps that do many of the things you speak of are shown here. The Graph API is probably your best bet right now for delivering the content and access you need and there are numerous tutorials online for how to use it, including the Facebook Developers site itself.
You will find good Tuts on ThinkDiff, e.g.
http://thinkdiff.net/facebook/new-javascript-sdk-oauth-2-0-based-fbconnect-tutorial/
http://thinkdiff.net/facebook/php-sdk-3-0-graph-api-base-facebook-connect-tutorial/
http://thinkdiff.net/facebook/graph-api-iframe-base-facebook-application-development-php-sdk-3-0/
I know this is an older question, but the current method for authentication is OAuth 2.0.
Facebook provides a pretty good outline of what steps are necessary in this Reference:
https://developers.facebook.com/docs/authentication/client-side/
This example allows the authentication to occur entirely in Javascript on the client side so that you can request a potential user to authenticate via Facebook and then confirm access to your application.
If the user is already logged in, only the access confirmation for your application is performed.
If the user is already logged in and access has already been granted, the user is not required to login, or reconfirm access.

Facebook page apps - Authorizing a user

I can't seem to find exactly what I'm looking for. We're trying to build an app to run solely on a Facebook Page. We want to show a landing page if they don't Like the page, and the contest entry form if they do. This functionality works.
Before showing the contest entry form, we'd like to authenticate the user viewing the app so that they can just hit "Enter the contest!" and we can automatically pull a name/email address.
Any of the methods of authentication I've seen described, including through the Facebook Developer docs, don't work at all.
I saw something that said they need to interact with the app first, then you can get the id, but that doesn't work either. I also don't get the page id passed with the signed request.
Its also pretty unclear whether I should be using an iframe or just FBML.
Could anyone point me in the right direction, please? Thanks!
You need to create a fan page and add the FBML plugin to that page, then you will need to insert a short code that will determine if a facebook user has clicked 'Like' or not and by determining that you will decide weather to display the content of the landing page or not (using an iframe). You will probably like to also set the FBML box that you create as the default view for members who didn't press the 'Like' button yet, you can change the default view in your fan page settings.
On the iframe, you will need to use the Facebook API if you want to retrieve any user information from Facebook, for that, you will need to register a new application with Facebook. Go to developers.facebook.com for the API integration and app registration.
Also, what do you mean when you say:
Any of the methods of authentication
I've seen described, including through
the Facebook Developer docs, don't
work at all.
Well, it appears you can't do it that way. The client was very specific in wanting that functionality but we ended up convincing them to go for a redirect to the canvas page to have the app authorized and the contest entered instead.