1
我在使用facebook api將照片發佈到頁面牆上時遇到了問題。如果我通過php上傳文件,並使用$ _FILES [] [「tmp_name」]作爲我的$ filelocation,它工作正常。但是,如果我將$ filelocation更改爲本地文件路徑(/tmp/1351750505-24d.jpg),則不起作用。
我已經給了我的/ tmp目錄777,並確保我的文件是777以及消除任何權限問題。我還使用了多個文件來確保它不僅僅是一個文件的問題。
我唯一的想法是,這可能是一個在php.ini中的隨機設置,但我沒有看到任何瞪着我的東西。
錯誤日誌:
[Thu Nov 01 06:52:13 2012] [error] [client 66.x.x.x] {"error":{"message":"(#1) An unknown error occurred","type":"OAuthException","code":1}}, referer: http://origin.example.com/adder/index.php
[Thu Nov 01 06:52:13 2012] [error] [client 66.x.x.x] $filelocation = /tmp/1351752730-24e.jpg, referer: http://origin.example.com/adder/index.php
[[email protected] adder]$ ll /tmp/1351750505-24d.jpg
-rwxrwxrwx 1 apache apache 331 Nov 1 06:15 /tmp/1351750505-24d.jpg
$facebook->setFileUploadSupport(true);
$post_id = "";
try
{
$post_id = $facebook->api("/$page_id/photos", 'POST',
array(
'source' => '@' . $filelocation,
'message' => $name
));
error_log("\$filelocation = " . $filelocation);
} catch (FacebookApiException $e)
{
$result = $e->getResult();
error_log(json_encode($result));
$post_id["id"] = "FAIL!";
error_log("\$filelocation = " . $filelocation);
}
我認爲,而不是本地路徑,如果你給該圖像完整的網址,它會工作。它適用於JavaScript的SDK不知道關於PHP。嘗試使用**「url」**參數而不是**「source」**並給出以https://開頭的完整url路徑... // –
感謝您使用url而不是源代碼作品,我可以使用它作爲解決方法通過我的積壓。如果有人知道如何解決我的源代碼問題,或者有一些我可能錯過的有用的故障排除步驟,請告訴我。 –
如果您查看[圖形API照片文檔](https://developers.facebook.com/docs/reference/api/photo/)中的'source'字段說明,它應該是一個「**代表有效網址**」。 Facebook無法在您的服務器上抓取本地路徑。 – cpilko