Every repository with this icon (
Every repository with this icon (
| name | age | message | |
|---|---|---|---|
| |
.DS_Store | Tue Jun 02 16:22:15 -0700 2009 | |
| |
.gitignore | Tue Jun 02 16:22:15 -0700 2009 | |
| |
CHANGELOG | Tue Jun 02 16:22:43 -0700 2009 | |
| |
LICENSE | Sat Apr 12 19:22:56 -0700 2008 | |
| |
Manifest | Mon Apr 21 20:54:01 -0700 2008 | |
| |
README.rdoc | Fri Feb 20 10:37:45 -0800 2009 | |
| |
Rakefile | Mon Apr 21 21:56:47 -0700 2008 | |
| |
bin/ | Tue Jun 02 16:22:17 -0700 2009 | |
| |
lib/ | ||
| |
test/ | Tue Feb 17 16:16:21 -0800 2009 |
Frankie
Frankie (facethesinatra.com) is a plugin for the Sinatra web framework (sinatrarb.com) that allows you to easily create a Facebook application by using the Facebooker gem.
Written by Ron Evans (www.deadprogrammersociety.com)
Based on merb_facebooker (github.com/vanpelt/merb_facebooker) by Chris Van Pelt, which was based on the Rails classes in Facebooker (facebooker.rubyforge.org/) by Mike Mangino, Shane Vitarana, & Chad Fowler
2/20/2009 - Now updated to Sinatra 0.9 and facebooker thanks to mjfreshyfresh.
Thanks, everyone!
Here is a very simple example application:
require 'rubygems'
require 'frankie'
configure do
set_option :sessions, true
load_facebook_config "./config/facebooker.yml", Sinatra.env
end
## facebooker helpers
before do
ensure_authenticated_to_facebook
ensure_application_is_installed_by_facebook_user
end
## the site
get '/' do
body "<h1>Hello #{session[:facebook_session].user.name} and welcome to frankie!</h1>"
end
How to use frankie
- Install the frankie gem (which will install both Sinatra and Facebooker if
you do not already have them)
sudo gem install frankie - Create the application directories for your new app
mkdir myapp cd myapp mkdir config - Put your facebooker.yml file into the /myapp/config directory, and set the
values to your information. Here is a simple example of the file:
development: api_key: apikeyhere secret_key: secretkeyhere canvas_page_name: yourcanvashere callback_url: http://localhost:4567 test: api_key: apikeyhere secret_key: secretkeyhere canvas_page_name: yourcanvashere callback_url: http://localhost:4567 production: api_key: apikeyhere secret_key: secretkeyhere canvas_page_name: yourcanvashere callback_url: http://yourrealserver.com - Make sure you have setup your Facebook application on the facebook site.
Google "setup new facebook application" if you are unsure how to
do this. I recommend starting with an IFrame application. A more advanced
and cooler approach uses a tunneling script, which is included with
Frankie. You do need to have "autossh" installed in order to use
it, as well as a publicly addressable server. From a command prompt type
tunnel <host> <remote_port> <local_port> like this:
tunnel app.myhost.com 10000 4567
You will also need to make sure your server’s /etc/ssh/sshd_config contains the following line:
GatewayPorts clientspecified
Thanks to the many people like Evan Weaver, Blake Mizerany, and whoever else that have provided the code used in this tunneling script.
- Create your application, based on the sample above, and then run it:
ruby sample.rb
- Test your app by going to apps.facebook.com/yourappname
Have fun!








