[cvs] [Wiki] changed: Doc/Dev/Horde_Service_Facebook

Jan Schneider jan at horde.org
Sun Mar 1 11:27:25 UTC 2009


jan  Sun, 01 Mar 2009 06:27:25 -0500

Modified page: http://wiki.horde.org/Doc/Dev/Horde_Service_Facebook
New Revision:  1.3
Change log:  Remove empty code block

@@ -4,11 +4,13 @@

  Documentation on the Horde_Service_Facebook package.

  ++ General Info
+
  This library is a general purpose client library for interacting  
with Facebook's API.  It's primary purpose is to allow other Horde  
applications to both receive and send content to Facebook.  Before  
using this library you will need to properly set up a web application  
with Facebook.  The details to do this are beyond the scope of this  
entry. You can find specific instructions at  
http://developers.facebook.com/get_started.php?tab=tutorial.  You will  
need to know the application api key as well as the application's  
secret key. You will also need a callback page that Facebook will  
redirect to after successful authentication events (see below).

  Example Code to create an instance of Horde_Service_Facebook:
+
  <code type="php">
  $key = 'xxx';
  $secret = 'xxx';

@@ -25,10 +27,10 @@
  ++ Authentication
  Authenticating a Facebook application from another web application  
is not a simple task.  The user needs to first be logged into  
Facebook, then authorize your application to interact with the user's  
Facebook profile. In addition, in order to allow the application to  
interact with Facebook without having to redirect the user to a login  
for each new session, you will need an infinite session. There are  
also multiple other 'extended permissions' that Facebook requires to  
be approved **individually**. It is up to the client application to  
deal with these requirements. Here is some sample code demonstrating  
various authentication processes.

  First, let's assume that the user has not done anything with your  
application yet. To check this we could do something like this:
-<code type="php">

+<code type="php">
  // See if we have a session (probably from a cookie)
  $haveSession = $facebook->auth->validateSession();
  if ($haveSession) {
      $uid = $facebook->auth->getUser();
@@ -49,9 +51,8 @@

  This link will take the user to a page that will first ask them to  
login, and then requests permission for you application to interface  
with their Facebook profile. Once that happens, Facebook will redirect  
back to your callbackurl. Once back on your callback page, you will  
need to capture the values that Facebook has sent back to you. The  
same validateSession() method takes care of that.

  <code type="php">
-
  // The true parameter here is telling the library to ignore any
  // seemingly valid sessions obtained from a cookie. This is to prevent
  // an existing cookie (perhaps by another user on a shared computer) from
  // interfering with this process.
@@ -68,9 +69,8 @@

  At this point you could store the uid and sid locally, and use them  
to manually set up the session instead of making a call to Facebook.

  <code type="php">
-
  // Get user and session from storage
  $uid = 'xxx';
  $sid = 'xxx';

@@ -79,12 +79,7 @@

  // Verify the session is still good by calling a method that  
requires a valid session
  $haveSession = $facebook->users->getLoggedInUser();
  </code>
-

  The session key returned by Facebook at this point would only be  
good until the user logs out.  Your user would have to login again to  
Facebook for each new session. To overcome this, you have to have the  
user authorize an extended permission called offline_access. Each and  
every extended permission must be authorized separately.
-
-<code type="php">
-
-</code>




More information about the cvs mailing list