Smartsheet - загрузка листа в виде файла Excel с использованием API
Я пытаюсь использовать Smartsheet API для загрузки листа в виде файла Excel. Я действительно изо всех сил пытаюсь собрать правильный код, чтобы сделать это.
Можете ли вы предоставить базовый пример кода, который будет загружать файл Excel с помощью API Smartsheet?
1 ответ
Документация по созданию файла Excel из листа находится здесь. Это дает пример, который использует curl. После установки curl можно использовать следующую команду, заменив полужирный шрифт соответствующими значениями:
curl https://api.smartsheet.com/1.1/sheet/SHEET_ID -H "Авторизация: Носитель ACCESS_TOKEN" -H "Принять: application / vnd.ms-excel" -o OUTPUT.XLS
SHEET_ID: это идентификатор листа. Его можно получить из интерфейса smartsheet (снимок экрана ниже), щелкнув правой кнопкой мыши вкладку листа и выбрав свойства. Его также можно получить через API, нажав конечную точку листов ( https://api.smartsheet.com/1.1/sheets). Более подробная информация о конечной точке здесь.
ACCESS_TOKEN: токен, который можно получить через интерфейс smartsheet, нажав "Аккаунт", выбрав "Личные настройки", а затем нажав "Доступ через API". Затем нажмите кнопку "Создать новый токен", чтобы создать новый токен.
OUTPUT.XLS: имя файла Excel, который будет создан в текущем каталоге.
Я также хочу отметить, что те же самые шаги можно выполнить с помощью Java SDK Smartsheet. После установки SDK следующий код можно использовать для загрузки листа в виде файла Excel.
public static void main(String[] args) throws SmartsheetException, IOException {
// Setup the File object
File file = new File("OUTPUT.XLS");
// Create the file if it does not exist
if(!file.exists()){
file.createNewFile();
}
// Create the output stream from the File object
FileOutputStream outputStream = new FileOutputStream(file, false);
// Setup a Smartsheet object with the necessary access token
Smartsheet smartsheet = new SmartsheetBuilder().setAccessToken("ACCESS_TOKEN").build();
// Request the sheet as an excel file from smartsheet
long sheetId = 8263950702798724L;// SHEET_ID
smartsheet.sheets().getSheetAsExcel(sheetId, outputStream);
// Flush and Close the output stream
outputStream.flush();
outputStream.close();
}
Снова замените SHEET_ID, ACCESS_TOKEN и OUTPUT.XLS соответствующими значениями.