{"id":21888856,"url":"https://github.com/digitalstars/google-sheets","last_synced_at":"2025-04-15T10:21:39.717Z","repository":{"id":56968874,"uuid":"399563649","full_name":"digitalstars/google-sheets","owner":"digitalstars","description":"Библиотека для работы с гугл таблицами | google api php client google-sheets sheets library wrapper","archived":false,"fork":false,"pushed_at":"2021-08-24T21:43:40.000Z","size":5,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-28T19:11:44.441Z","etag":null,"topics":["api","client","google","google-sheets","library","php","sheet","sheets","wrapper"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/digitalstars.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-08-24T18:15:57.000Z","updated_at":"2024-10-14T15:34:29.000Z","dependencies_parsed_at":"2022-08-21T06:40:23.872Z","dependency_job_id":null,"html_url":"https://github.com/digitalstars/google-sheets","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitalstars%2Fgoogle-sheets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitalstars%2Fgoogle-sheets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitalstars%2Fgoogle-sheets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitalstars%2Fgoogle-sheets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/digitalstars","download_url":"https://codeload.github.com/digitalstars/google-sheets/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249048837,"owners_count":21204320,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","client","google","google-sheets","library","php","sheet","sheets","wrapper"],"created_at":"2024-11-28T11:17:46.692Z","updated_at":"2025-04-15T10:21:39.698Z","avatar_url":"https://github.com/digitalstars.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Предисловие\nБиблиотека для удобной работы с гугл таблицами с использованием Service Account\nБиблиотека имеет зависимость от https://github.com/googleapis/google-api-php-client\n\n## Установка\n`composer require digitalstars/google-sheets`\n\u003e У библиотеки есть [баг(issue)](https://github.com/googleapis/google-api-php-client/issues/1893), что с первого раза не отрабатывает какой-то очищающий скрипт. Поэтому команду установки нужно выполнить 2 РАЗА!!, иначе не появится `vendor/autoload.php`\n\n## Перед началом работы\n1) [Вот по этому гайду](https://pocketadmin.tech/ru/%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-4-%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%B5%D0%B9-api-google-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D1%8B-%D0%BD%D0%B0-php/) создаете .json конфиг и почту сервисного аккаунта\n```php\n$spreadsheet_id = '1FpDbHUknChjWzioeTrddMur-d_tSl7E_-tKCqn9xW6o';\n$config_path = 'fire-322212-c5306b491ecc.json';\n```\n2) Заходите в гугл таблицу и выдаете сервисной почте права редактора\n\n## Примеры работы\n\n### Подключение\n```php\n\u003c?php\nrequire_once 'vendor/autoload.php';\nuse DigitalStars\\Sheets\\DSheets;\n\n$spreadsheet_id = '1FpDbHUknChjWzioeTrddMur-d_tSl7E_-tKCqn9xW6o';\n$config_path = 'fire-322212-c5306b491ecc.json';\n\n$sheet = DSheets::create($spreadsheet_id, $config_path)-\u003esetSheet('Лист');\n```\n\n### Выгрузка данных\n```php\n$data = $sheet-\u003eget(); //выгрузит все данные в листе\nprint_r($data);\n// [\n//   ['id', 'name', 'mail'],\n//   ['1', 'name1', 'mail1'],\n//   ['2', 'name1', 'mail2']\n// ]\n\n$data = $sheet-\u003esetSheet('Лист2')-\u003eget('A:A'); //выгрузит весь столбец А из Лист2\nprint_r($data);\n// [\n//   ['id'],\n//   ['1']\n//   ['2']\n// ]\n\n$data = $sheet-\u003eget('A2:B3'); //выгрузит диапазон A2:B3\nprint_r($data);\n// [\n//   ['1', 'name1'],\n//   ['2', 'name1']\n// ]\n```\n\n### Добавление в конец листа\nЭтот метод добавляет данные в конец листа, где встречена пустота\n```php\n$sheet-\u003eappend([['Имя', 'Фамилия', 'Возраст']]); //добавит в конец A по максимальной используемой строке всех букв\n//Если C6-C8 пустые, то добавит в них. Иначе в самый конец A ориентируясь по максимальной используемой строке всех букв\n$sheet-\u003esetSheet('Лист2')-\u003eappend([['Имя', 'Фамилия', 'Возраст']], 'C6'); \n```\n\n### Обновление/добавление данных\n```php\n$sheet-\u003eupdate([['Имя', 'Фамилия', 'Возраст']]); //добавит в A1-C1\n$sheet-\u003esetSheet('Лист2')-\u003eupdate([['Имя', 'Фамилия', 'Возраст']], 'A3'); //добавит в A3-C3 даже если они заполнены\n```\n\n### Использование оригинального Google_Service_Sheets\n```php\n$service = $sheet-\u003egetService(); //получаем\n$service-\u003espreadsheets-\u003e...\n$service-\u003espreadsheets_sheets-\u003e...\n$service-\u003espreadsheets_values-\u003e...\n$client = $service-\u003egetClient();\n$sheet-\u003esetService($service); //устанавливаем обратно если надо\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigitalstars%2Fgoogle-sheets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdigitalstars%2Fgoogle-sheets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigitalstars%2Fgoogle-sheets/lists"}