Получить все столбцы и вложения из Smartsheet API в Stack Overflow

Я работаю над Smartsheet API, но я не профессионал.
Мне нужна помощь, чтобы получить всю информацию на конкретном листе. Под всей информацией я имею в виду все столбцы и все приложения к ним. Мне также нужна помощь, чтобы сделать возможной загрузку приложений на пользовательское устройство. Есть ли там кто-нибудь с шаблоном в PHP?
Я зашел так далеко, чтобы получить информацию из колонок, но этого недостаточно.

 $baseURL = "https://api.smartsheet.com/1.1";
$sheetsURL = $baseURL. "/sheets/";
$getSheetURL = $baseURL. "/sheet/xxx";
$rowsURL = $baseURL. "/sheet/xxx/rows";
$rowAttachmentsURL = $baseURL. "/sheet/3712544801089412/row/{{ROWID}}/attachments";
$getAttachmentURL = $baseURL ."/sheet/3712544801089412/attachment/{{ATTACHMENTID}}";// Insert your Smartsheet API Token here
$accessToken = "xxx";

// Create Headers Array for Curl
$headers = array(
"Authorization: Bearer ". $accessToken,
"Content-Type: application/json");

// Connect to Smartsheet API to get Selected Sheet
$curlSession = curl_init($getSheetURL);

curl_setopt($curlSession, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curlSession, CURLOPT_RETURNTRANSFER, TRUE);
$getSheetResponseData = curl_exec($curlSession);
$sheetObj = json_decode($getSheetResponseData);//attachmentecho "<h1>Sheet name: ". $sheetObj->name ."</h1>";
echo "<br>";
//table start
echo "<table>";
echo "<td>"."Attachment"."</td>";
foreach ($sheetObj->columns as $column) {
echo "<td>".$column->title ."</td>";
}

echo "<tr>";
foreach ($sheetObj->rows as $row) {

$curlSession = curl_init($rowAttachmentsURL);
curl_setopt($curlSession, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curlSession, CURLOPT_RETURNTRANSFER, TRUE);
$getAttachmentsResponse = curl_exec($curlSession);
// Assign response to variable
$attachments = json_decode($getAttachmentsResponse);
$rowAttachmentsURL = str_replace('{{ROWID}}', $row->id, $rowAttachmentsURL);

var_dump($attachments);foreach ($row->attachments as $attachment) {
echo "<td>".$attachment->name."</td>";
}
foreach ($row->cells as $cell)
{

echo "<td>".$cell->value."</td>";
}

echo "<td></td><td></td><td></td>";
echo "</tr>";
}

echo "</table>";
curl_close($curlSession);
?>

1

Решение

Есть проект на GitHub который предоставляет пример кода php для работы с Smartsheet API. Похоже, вы хотите получить все столбцы на вашем листе, а также работать с вложениями.

Чтобы увидеть, как получить содержимое вашего листа, включая столбцы, я бы порекомендовал HelloGetSheet образец. Этот образец получает выбранный лист, а затем выводит столбцы и строки для этого листа.

Внутри этого же проекта есть также образец кода для работы с вложениями. Помимо того, как показать, как загрузить вложение, этот скрипт показывает, как получить и загрузить вложения с вашего листа.

ОБНОВИТЬ: Спасибо за размещение кода. Похоже, у вас есть основные строительные блоки, необходимые для достижения того, что вы ищете. Я бы предложил переместить раздел «Список вложенных строк» ​​в цикл строк. Затем, для достижения строки вы можете получить идентификатор строки и использовать его, чтобы получить URL-адрес ваших вложений, например, так

$rowAttachmentsURL = str_replace('{{ROWID}}', $row->id, $rowAttachmentsURL);
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]