Документы API smartsheet предоставляют эту документацию для прикрепления файла к строке.
curl https://api.smartsheet.com/2.0/sheets/{sheetId}/rows/{rowId}/attachments
\ -H "Авторизация: Bearer ll352u9jujauoqz4gstvsae05" \ -H "Тип содержимого: application / msword "\ -H 'Content-Disposition: приложение; filename = "ProgressReport.docx" '\ -H "Content-Length: FILE_SIZE" \ -X POST \ --data-binary @ ProgressReport.docx
Как мне перевести это на соответствующие вызовы для сеанса скручивания в php?
Я предполагаю, что мне нужно создать блок заголовка, такой как
$headersAttachment = array(
"Authorization: Bearer " . $AccessToken,
"Content-Type: application/pdf",
'Content-Disposition: attachment; filename="mydoc.pdf"', // **is this for just the filename or the full path?**
"Content-Length: " . $FileSizeOfMyDoc
);
, и использовать его примерно так
$curlSession = curl_init($rowsURL . '/' . $rowId . '/attachments');
curl_setopt($curlSession, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curlSession, CURLOPT_HTTPHEADER, $headersAttachment);
curl_setopt($curlSession, CURLOPT_POSTFIELDS, $body);
curl_setopt($curlSession, CURLOPT_POST, TRUE);
$getSheetResponseData = curl_exec($curlSession);
Что мне нужно поместить в $ body для загрузки данных из файла?
В документации API smartsheet указано
В следующем примере запроса показана простая загрузка, которая добавляет вложение файла на лист:
POST https://api.smartsheet.com/2.0/sheets/4509093797881732/attachments Авторизация: Bearer ll352u9jujauoqz4gstvsae05 Content-Disposition: attachment; filename = "ProgressReport.docx" Content-Type: application / msword Content-Length: 5463
<Двоичный контент для файла>
Как показано в этом примере, содержимое файла включено в теле запроса POST. В большинстве языков программирования это делается путем чтения файла из входного потока и записи его в выходной поток HTTP-запроса.
это выполняется путем чтения файла из входной поток и запись его в выходной поток HTTP-запроса. <--- Как мне сделать это в PHP? </em>
Как после размышления, как могу я проверить это с почтальоном?
Заранее спасибо. Любая помощь будет потрясающей.