• Как создать таблицу через API Google Docs?

    serg_small_developer
    @serg_small_developer Автор вопроса
    Начинающий прогер
    Оставляю рабочий код тут, может коту-то будет нужно, т.к. я нашол только одну годную статью и то на питоне, никто не хочет выкладывать и делиться, но я не жадный)

    require_once __DIR__ . '/vendor/autoload.php';
    
    			function initializeSheets(){
    			 $KEY_FILE_LOCATION = __DIR__ . '/service-account-credentials.json';
    
    			  $client = new Google_Client();
    			  $client->setApplicationName("Google Sheets API PHP Quickstart");
    			  $client->setAuthConfig($KEY_FILE_LOCATION);
    			  $client->setScopes(['https://www.googleapis.com/auth/drive','https://www.googleapis.com/auth/spreadsheets']);
    			 return $client;
    			}
    			$sheets = new Google_Service_Sheets(initializeSheets());
    			//создаем саму таблицу
    				$sfsef = new Google_Service_Sheets_GridProperties();
    				$sfsef->setRowCount(8);
    				$sfsef->setColumnCount(5);
    				
    				$sheet111 = new Google_Service_Sheets_SheetProperties();
    				$sheet111->setSheetType('GRID');
    				$sheet111->setSheetId(0);
    				$sheet111->setTitle('название листа');
    				$sheet111->setGridProperties($sfsef);
    				
    				$sheet = new Google_Service_Sheets_Sheet();
    				$sheet->setProperties($sheet111);
    				
    				$properties = new Google_Service_Sheets_SpreadsheetProperties();
    				$properties->setTitle('название документа');
    				$properties->setLocale('ru_RU');
    				
    				$spreadsheets1 = new Google_Service_Sheets_Spreadsheet();
    				$spreadsheets1->setProperties($properties);
    				$spreadsheets1->setSheets($sheet);
    				
    				$result = $sheets->spreadsheets->create( $spreadsheets1 ) ;
    				
    				//даем доступ для редактирование кому угодно
    				$drive = new Google_Service_Drive(initializeSheets());
    		
    				$drive1 = new Google_Service_Drive_Permission();
    				$drive1->setType('anyone');
    				$drive1->setRole('writer');
    				$drive1s = $result['spreadsheetId'];
    				$resultqqq = $drive->permissions->create( $drive1s, $drive1 ) ;
    
    				echo '<pre>';
    					print_r($result);
    				echo '</pre>';
    Ответ написан
    1 комментарий
  • Как создать агента в своём модуле?

    gromdron
    @gromdron
    Работаю с Bitrix24
    А в чем собственно вопрос? Делайте как по документации

    1) При установки модуля добавляем агент:
    \CAgent::AddAgent( "\\Your\\Module\\SuperClass::superAgent();", "your.module", "N", 10 * 24 * 3600, "", "Y");

    где
    "\\Your\\Module\\SuperClass::superAgent();" - код php который должен выполняться (точка с запятой в конце строго!!!)
    "your.module" - название вашего модуля
    "N" - периодичность
    10 * 24 * 3600 = периодичность запуска
    '' - первая дата проверки (оставлять пустой)
    "Y" - активность агента

    2) При удалении - очищаем агенты
    \CAgent::RemoveModuleAgents("your.module");
    3) Если файлы располагаются по канонам d7 ( /your.module/lib/superclass.php ), то ничего больше делать не нужно, если старый - то нужно прописать в include.php автолоадер для вашего класса с агентом
    Ответ написан
    2 комментария