public function application_getPublicInfo($application_id, $application_api_key, $application_canvas_name) { $param_ec = api10_FacebookApiErrorCode::API_EC_PARAM; $param_msg = 'Exactly one of application_id, api_key, or canvas_name is required.'; // parameter checking if ($application_api_key) { if ($application_id || $application_canvas_name) { throw new api10_FacebookApiException(array('error_code' => $param_ec, 'error_msg' => $param_msg)); } $app_id = application_get_id_from_key($application_api_key); } else { if ($application_canvas_name) { if ($application_id) { throw new api10_FacebookApiException(array('error_code' => $param_ec, 'error_msg' => $param_msg)); } $app_id = application_get_fbframe_id($application_canvas_name); } else { if ($application_id) { $app_id = $application_id; } else { throw new api10_FacebookApiException(array('error_code' => $param_ec, 'error_msg' => $param_msg)); } } } if (!$app_id) { $this->throw_code(api10_FacebookApiErrorCode::API_EC_NO_SUCH_APP); } // get the info first, as it allows us to do the rest of this efficiently $app_info = application_get_info($app_id); if (!$app_info) { $this->throw_code(api10_FacebookApiErrorCode::API_EC_NO_SUCH_APP); } $result = new api10_app_info(); $result->app_id = $app_info['application_id']; $result->api_key = $app_info['apikey']; $result->canvas_name = application_get_fbframe_name($app_id); $result->display_name = application_get_name($app_id, $app_info); $result->icon_url = application_get_icon_url($app_id, $app_info); $result->logo_url = application_get_logo_url($app_id, $app_info); $result->description = $app_info['description']; $result->developers = array(); $result->company_name = ''; // figure out whether to return the developers or company name $company_name = $app_info['company_name']; $result->company_name = $company_name; $dev_ids = application_get_owners($app_id); foreach ($dev_ids as $dev_id) { $developer_info = new api10_developer_info(); $developer_info->uid = $dev_id; $developer_info->name = user_get_name($dev_id); $result->developers[] = $developer_info; } return $result; }
include_once $_SERVER['PHP_ROOT'] . '/lib/fbml/flavors/canvas_page_flavor.php'; include_once $_SERVER['PHP_ROOT'] . '/lib/fbml/implementation/css.php'; param_get(array('fb_app_name' => $PARAM_STRING, 'fb_url_suffix' => $PARAM_STRING, 'fb_api_key' => $PARAM_STRING, 'fb_user_id' => $PARAM_INT, 'fb_force_mode' => $PARAM_STRING)); // FBOPEN:NOTE : html/canvas.php is a simple demonstration of canvas-like // : functionality, and will vary widely on your system. // : You can try this demo by putting this under your document root and // : sending a request to: // : yourapp.demo/canvas.php?fb_app_name=AAAA&fb_user_id=UUUU&fb_url_suffix=SSSSS // : where AAAA is your app's "display" name (apps.facebook.com/AAAA), // : UUUU is the 'logged in' user id, // : and fb_url_suffix is a URL-encoded string of the parameters // : you wish to send to your callback URL. $rel_canvas_url = $_SERVER['REQUEST_URI']; $url_suffix = urldecode($get_fb_url_suffix); if ($get_fb_app_name) { $app_id = application_get_fbframe_id($get_fb_app_name); } else { if ($get_fb_api_key) { $app_id = application_get_id_from_key($get_fb_api_key); } else { print 'No app corresponding to app name or api key parameters'; error_log('No app corresponding to app name or api key parameters'); exit; } } print_canvas_javascript_references(); if (!($user = $get_fb_user_id)) { print 'No user id parameter'; error_log('No user id parameter'); exit; }