Smartsheet をサーバーに (.xls として) 保存したいと考えています。しかし、私は常にjsonコードで満たされた.xlsを取得します。json_decode(..) を使用し、.xls が完全に空の場合、「file_put エラー」が発生します。デスクトップでcurlを使用すると、必要なものがすべて含まれた適切な.xlsが得られます。
$baseURL = "https://api.smartsheet.com/1.1";
$headers = array("Authorization: Bearer ".$inputToken);
.
.
array_push($headers,'"Accept: application/vnd.ms-excel" -o tmpfile.xls --insecure');
$curlSession = curl_init($sheetDetail_url);
curl_setopt($curlSession, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curlSession, CURLOPT_RETURNTRANSFER, TRUE);
$smartsheetData = curl_exec($curlSession);
if (curl_errno($curlSession))
{
echo "Oh No! Error: " . curl_error($curlSession);
}else{
// Assign response to PHP object
$sheetsObj = json_decode($smartsheetData);
// close curlSession
curl_close($curlSession);
}
$file1="tmpfile.xls";
if(!(file_put_contents($file1, $sheetsObj))){
echo "file_put error";
}
あなたが私を助けてくれることを願っています。ありがとう