Я пытаюсь создать приложение, которое автоматически печатает PDF после его создания для клиента. (по его просьбе) Я запустил облачный принтер, который прекрасно работает, если я пытаюсь использовать его с чем-то вроде хрома.
Все библиотеки для PHP чрезвычайно устарели (до 4 лет), и большинство из них полностью сломаны или почти не содержат документации о том, как их использовать, а попытка использовать собственную документацию Google — еще более страшный сон.
Лучшее, что я мог придумать, это использовать эту библиотеку: yasirsiddiqui / PHP-Google облако-печать, главным образом потому, что это был единственный, который я мог понять, как его использовать.
Однако когда я использую это для отправки задания на печать, владелец учетной записи (я) получает предупреждение по электронной почте о том, что кто-то подозрительный пытается войти в свою учетную запись, и он был заблокирован.
Кто-нибудь знает, есть ли (рабочая) библиотека для этого или есть альтернатива командной строки (предпочтительно), которую я мог бы использовать system()
или же exec()
с?
Примечание: у меня 0% знаний Python, и использование JavaScript для отправки этих работ НЕ вариант, потому что конечным пользователям не разрешено изменять документ.
Обновление [2015/09/08]: По какой-то причине Google не разрешает печать через некоторые учетные записи, даже когда используется OAuth2, для быстрого решения этой проблемы достаточно просто создать совершенно новую учетную запись и распечатать ее.
Я обновил код для использования Google OAuth2, и теперь не будет никаких проблем, связанных с заблокированным аккаунтом или угрозой безопасности и т. Д. Вот URL обновленного кода
https://github.com/yasirsiddiqui/php-google-cloud-print
Я никогда не слышал о печати в Google Cloud, но кажется, что это просто REST API, и в этом случае вам не нужна библиотека для взаимодействия с ней, просто используйте что-то вроде CURL. Вот страница, которая позволяет вам тестировать различные интерфейсы, которые они предлагают:
https://www.google.com/cloudprint/simulate.html
Сухой список параметров доступен здесь для отправки работ:
https://developers.google.com/cloud-print/docs/appInterfaces#submit
Я бы просто использовал CURL для публикации своих запросов и не беспокоился из-за создания какого-то огромного класса, особенно когда вам не нужны все доступные опции в API. Вы должны взглянуть на примеры Python — я знаю, что у вас нет большого опыта работы с Python, но HTTP-заголовки, которые вы установили для входа и т. Д., Будут такими же, как в PHP:
login.putheader('content-type', 'application/x-www-form-urlencoded')
Такой же как:
$request_headers[] = 'content-type: application/x-www-form-urlencoded';
curl_setopt($ch, CURLOPT_HTTPHEADER, $request_headers);`
Я нашел API здесь, но он находится за платным экраном, поэтому я не могу засвидетельствовать его качество — если вы делаете это для клиента, хотя это может стоить потраченных денег и усилий, чтобы проверить его:
http://www.phpgang.com/how-to-configure-google-cloud-api-in-php_288.html