Вставьте новые строки в Google Spreadsheet через cURL / PHP – КАК?

Есть ли сценарий или учебник о том, как это сделать? Как реализовать вставку данных из моего приложения PHP в таблицу Google?

Я просмотрел API ( https://developers.google.com/google-apps/spreadsheets/ ), и нет кодов / примеров PHP.

Я пробовал реализацию Zend Library, но что-то кажется очень устаревшим с этим подходом, так как я получаю некоторые глупые ошибки в простой вставке строки.

Я не думаю, что могу использовать скрипт Google Apps ( https://developers.google.com/apps-script/reference/spreadsheet/ ), поскольку я не вижу, как я могу кодировать и запускать сценарий PHP.

Что-нибудь еще?

Разве нет работоспособного API для этого, с которым мы можем легко использовать и использовать?

Related of "Вставьте новые строки в Google Spreadsheet через cURL / PHP – КАК?"

Я не думаю, что могу использовать скрипт Google Apps, поскольку не вижу, как я могу кодировать и запускать из скрипта PHP

Что вы можете. Вы можете создать веб-сервис с помощью Google Apps Script, который может получать и обрабатывать запросы на обслуживание. Просто передать параметры веб-службе, это можно сделать, например, с помощью cURL.

Следующий пример предназначен для простой таблицы с двумя столбцами. Вы можете добавить следующие строки:

curl -L <SCRIPT URL>?col1='Value for column 1'&col2='Another value' 

или URL-адрес браузера:

 https://<SCRIPT URL>?col1='Value for column 1'&col2='Another value' 

Этот пример таблицы опубликован здесь , а ниже приведен пример URL-адреса, который можно использовать для добавления строки:

 https://script.google.com/macros/s/AKfycbzVDFmOeaQc4mDZhWCnwf0CUnX64YNhhnKIlTYhqtpBraINUf9e/exec?col1='Value for column 1'&col2='Another value' 

инструкции

Вот шаг за шагом.

  1. Откройте таблицу Google, убедитесь, что электронная таблица полностью доступна (общедоступна)
  2. Инструменты -> Редактор сценариев
  3. Скопируйте приведенный ниже код и вставьте в редактор
  4. Замените --spreadsheet-id-- id на идентификатор вашего листа (легко найти это)
  5. Файл -> Сохранить
  6. Публиковать -> Развернуть как веб-приложение -> Версия = NEW; устанавливать доступ по мере необходимости
  7. Авторизовать (подскажет вам за кредитами) -> DEPLOY
  8. Теперь вы получите URL-адрес скрипта
  9. Добавьте ?col1='Colum1Data'&col2='Colum2Data' в URL-адрес или отредактируйте, если необходимо, чтобы переместить данные в таблицу из URL-адреса
  10. СДЕЛАННЫЙ

(Благодаря vr00n.)

Code.gs

Это может быть автономный сценарий, связанный с контейнером; в любом случае вам нужно предоставить идентификатор электронной таблицы, поскольку веб-приложение не запускается в контексте электронной таблицы. Вместо того, чтобы отображать html, он использует ContentService для обслуживания простого текста – вы можете уточнить это в любом случае, подходящем для вашего приложения.

 function doGet(e) { Logger.log( JSON.stringify(e) ); // view parameters var result = 'Ok'; // assume success if (e.parameter == undefined) { result = 'No Parameters'; } else { var id = '--spreadsheet-id--'; // Spreadsheet id var sheet = SpreadsheetApp.openById(id).getActiveSheet(); var newRow = sheet.getLastRow() + 1; var rowData = []; for (var param in e.parameter) { Logger.log('In for loop, param='+param); var value = stripQuotes(e.parameter[param]); //Logger.log(param + ':' + e.parameter[param]); switch (param) { case 'col1': rowData[0] = value; break; case 'col2': rowData[1] = value; break; default: result = "unsupported parameter"; } } Logger.log(JSON.stringify(rowData)); // Write new row to spreadsheet var newRange = sheet.getRange(newRow, 1, 1, rowData.length); newRange.setValues([rowData]); } // Return result of operation return ContentService.createTextOutput(result); } /** * Remove leading and trailing single or double quotes */ function stripQuotes( value ) { return value.replace(/^["']|['"]$/g, ""); } 

Вы должны прочитать документацию Google Content Service, особенно предупреждения об перенаправлении и конфиденциальную информацию.