Facebook应用程序构建。如何进行简单的API调用?

Facebook应用程序构建。如何进行简单的API调用?,api,facebook,Api,Facebook,我有4.5年的专业PHP开发经验,在会话处理等方面有丰富的经验 我想学习如何构建Facebook应用程序。我已经完成了下载Facebook开发者应用程序的过程,我已经使用它创建了一个应用程序,我已经将画布URL设置为应用程序所在的位置 我可以使用Facebook用户帐户成功“安装”该应用程序,并且我可以成功访问它。我注意到,当加载应用程序时,会向它传递一整串数据,其中包含参数名,如fb_sig_user和fb_sig_session_key。目前,我对这些参数不做任何处理 在应用程序端,显然我应

我有4.5年的专业PHP开发经验,在会话处理等方面有丰富的经验

我想学习如何构建Facebook应用程序。我已经完成了下载Facebook开发者应用程序的过程,我已经使用它创建了一个应用程序,我已经将画布URL设置为应用程序所在的位置

我可以使用Facebook用户帐户成功“安装”该应用程序,并且我可以成功访问它。我注意到,当加载应用程序时,会向它传递一整串数据,其中包含参数名,如fb_sig_user和fb_sig_session_key。目前,我对这些参数不做任何处理

在应用程序端,显然我应该使用我自己的应用程序ID密钥和密钥创建一个Facebook对象,我已经这样做了

但我似乎不知道如何开始从我的应用程序回Facebook进行API调用

在这一点上,我该如何做一些简单的事情,比如获取这个人的名字并将其显示给他们

例如,我如何:

$first_name = $facebook->getUserFirstName();
。。做那样的事

我只想做一个简单的测试,以确保API的东西工作正常

任何帮助都将不胜感激。谢谢。

这可能是你的第一站,有些人是亚军

使用FacebookSDK进行API调用非常简单

$me = $facebook->api('/me'); // Returns array containing data for currently logged in user depending on given permissions

甚至

$my_profile_img = $facebook->api('/me/picture'); // Returns a string containing URL to users profile picture.
此外,开放图形中的所有内容都有唯一的id,您可以在
/me
中插入该id,而不是插入我

对于开放图的进一步和更深入的描述,我建议转到第页

一旦你设置好了,工作起来就很容易,也很有趣——尽管有点慢

更新:

为了获取Facebook cookie并从中设置会话,我执行了以下操作:

$cookie = get_facebook_cookie($fbconfig['appid'], $fbconfig['secret']);

function get_facebook_cookie($app_id, $application_secret) {
  $args = array();
  parse_str(trim($_COOKIE['fbs_' . $app_id], '\\"'), $args);
  ksort($args);
  $payload = '';
  foreach ($args as $key => $value) {
    if ($key != 'sig') {
      $payload .= $key . '=' . $value;
    }
  }
  if (md5($payload . $application_secret) != $args['sig']) {
    return null;
  }
  return $args;
}

if (isset($cookie)) {
$session = $facebook->getSession($cookie);
}
然后将Facebook.php第332行更新为

public function getSession($passedCookie) {
第373行将被删除

$this->setSession($passedCookie, $write_cookie);

蹩脚的黑客,但至少对我有效

谢谢弗雷尔,但这是我正在努力解决的设置部分。我的API调用都不起作用。我正在使用SDK。必须有某种方法可以使用Facebook传递给我的应用程序的参数来激活会话并开始执行这些API调用?如果$session=$Facebook->getSession();不适合您,您可以尝试使用facebook cookie手动设置。我已经更新了我的答案,使其对我有效(使用XFMBL登录时)。出于测试目的,您也可以尝试将example.php作为画布应用程序运行。
$this->setSession($passedCookie, $write_cookie);