問:如何通過FB API將圖像從我的網絡服務器上傳到Facebook?使用facebook API上傳圖像
我正在編寫一個應用程序,從用戶的相冊中檢索圖像,進行一些修改(例如添加水印),然後將其發送回相冊。
我用它來上傳相片中的代碼如下
<?php
include_once("api/facebook.php");
include_once("config.php");
include_once("utils.php");
include_once("bemyfans.php");
$facebook=new Facebook($api_key,$app_secret);
$facebook->require_frame();
$user=$facebook->require_login();
echo "<p>Hello <fb:name useyou='false' uid=\"$user\"/></p>";
$args = array(
'api_key' => $api_key,
'call_id'=>microtime(true),
'v'=>'1.0',
'format' => 'JSON'
);
$args['Lenna.png']="@/home/thoai/htdocs/apps/bemyfans/Lenna.png";
signRequest($args,$secret);
$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, $args);
if ($data = curl_exec($ch)) echo "done";
echo $data;
function signRequest(&$args, $secret){
ksort($args);
$sig = '';
foreach($args as $k => $v){
$sig .= $k . '=' . $v;
}
$sig .= $secret;
$args['sig'] = md5($sig);
}
?>
這是行不通的。更具體地說,我不斷收到「錯誤的簽名」消息。
代碼有什麼問題?
什麼'的$ args [ 'Lenna.png'] =「@ /家庭/ thoai/htdocs中/是的''@爲apps/bemyfans/Lenna.png「;'? – 2009-10-05 03:49:50
是的,那是什麼? – timdev 2009-10-05 03:53:36
cURL將發送文件的內容而不是文件名。 – thoaionline 2009-10-05 04:22:24