Facebook API调用 - “此API版本已弃用”

时间:2009-08-13 20:35:26

标签: api facebook

我正在尝试在Facebook API服务器上调用Photo.upload。据我所知,构建调用的代码是好的,但我无法理解我从服务器返回的响应。据我所知,这个电话是工作的,其他人不会遇到这个问题。我只能说代码有问题。评论的东西是我尝试不同的东西来从服务器获得不同的响应的工件。我改变的原始代码部分来自一个如何做到这一点的例子,我无法真正开始工作:

http://www.jaisenmathai.com/blog/2008/11/27/using-the-facebook-api-to-upload-photos/

服务器响应:

  

12此API版本已弃用方法photos.upload api_key b92cee19a33c861275bfce4695896e44 call_id 1250194789.61 garden_jpg /var/www/vivaladan/pictureyourselfhull/garden.jpg v 0 sig 896ee95339cad24ce7e64a05ca764123

代码

$key = b92cee19a33c861275bfce4695896e44;
$ver = 1.0;
$cid = microtime(true);
$uid = BIGINT;
$file= "garden.jpg";

$args = array(
  //amethod => photos.upload,
  v => $ver,
  api_key => $key,
  //uid => $uid,
  call_id => $cid,
  //format => XML
);

$args[basename($file)] = realpath($file); 
signRequest($args,$sec);

$postString = "";
foreach($args as $index => $value) {
$postString .= $index ."=".$value."&";
}
$postString = trim($postString, '&');


$ch = curl_init();
$url = "http://api.facebook.com/restserver.php?method=photos.upload";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postString);
$data = curl_exec($ch);

echo $data;

function signRequest(&$args, $secret){
  ksort($args);
  $sig = "";
  foreach($args as $k => $v){
    $sig .= $k . '=' . $v;
  }
  $sig .= $secret;
  $args[sig] = md5($sig);
}

3 个答案:

答案 0 :(得分:2)

Rest API调用不再有效。 试试GraphApi

答案 1 :(得分:0)

我猜这是因为你正在使用$ver = 0.0; - 没有0.0版本的API。

答案 2 :(得分:0)

尝试使用api.new.facebook.com API URL