| Catalyst-Plugin-Facebook documentation | Contained in the Catalyst-Plugin-Facebook distribution. |
version 0.2
Catalyst::Plugin::Facebook - Build Facebook applications in Catalyst easier
This module adds quick and easy access to WWW::Facebook::API within a Catalyst application.
use Catalyst qw/Facebook/;
__PACKAGE__->config(
'facebook' => {
'api_key' => 'api_key_xyz',
'secret' => '12345ddd',
}
);
sub auto : Private {
my ( $self, $c ) = @_;
if (! $self->can_display($c)) {
return;
}
return 1;
}
sub can_display {
my ($self, $c) = @_;
if (! $c->facebook->canvas->in_fb_canvas()) {
$c->res->redirect('http://apps.facebook.com/iplaywow/');
return 0;
}
if (! $c->facebook->canvas->get_fb_params->{'added'} ) {
$c->res->redirect($c->facebook->get_add_url());
return 0;
}
my $user = $c->facebook->canvas->get_fb_params->{'user'};
if (! $user) {
$c->res->redirect($c->facebook->get_login_url());
return 0;
}
return 1;
}
This package uses the 'facebook' configuration namespace. See the WWW::Facebook::API module for all of the configuration options available.
The two required configuration options are 'api_key' and 'secret'.
This method, which will be available on your Catalyst context object, will return the full WWW::Facebook::API object.
fb is just an alias for facebook.
Please report any bugs or feature requests to
bug-catalyst-plugin-facebook at rt.cpan.org, or through the web interface at
http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Catalyst-Plugin-Facebook.
I will be notified, and then you'll automatically be notified of progress on
your bug as I make changes.
You can find documentation for this module with the perldoc command.
perldoc Catalyst::Plugin::Facebook
You can also look for information at:
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Catalyst-Plugin-Facebook
Copyright 2007 Nick Gerakines, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Nick Gerakines <nick@gerakines.net>
This software is copyright (c) 2009 by Nick Gerakines.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
| Catalyst-Plugin-Facebook documentation | Contained in the Catalyst-Plugin-Facebook distribution. |
package Catalyst::Plugin::Facebook; our $VERSION = '0.2'; use strict; use warnings; use WWW::Facebook::API; use Scalar::Util qw(); # why not *fb = \&facebook; sub facebook { my ($c) = @_; unless ( $c->{'facebook'} and Scalar::Util::blessed($c->{'facebook'}) and $c->{'facebook'}->isa('WWW::Facebook::API') ) { $c->{'facebook'} = WWW::Facebook::API->new( 'desktop' => 0, 'format' => 'JSON', 'parse' => 1, %{ $c->config->{'facebook'} || { } }, ); $c->{'facebook'}->query( $c->request); my $params = $c->facebook->canvas->get_fb_params; $c->{'facebook'}->session('uid' => $params->{'user'}, 'key' => $params->{'session_key'}, 'expires' => $params->{'expires'}); } return $c->{'facebook'}; } 1;
__END__