вторник, 30 августа 2016 г.

Командная строка на службе сервисов Google


Не всем нравятся распрекрасные интерфейсы с большими кнопками и специальными элементами управления для ввода текста или загрузки файлов. Иногда проще и быстрее напечатать нужную команду в консоли.




GoogleCL — это специальный проект, который упростит работу с сервисами Blogger, Picasa Web, YouTube, Google Docs и Google Calendar, благодаря командной строке. Это оболочка для Google Data API, поэтому вам сперва понадобится установить Python 2.6 (или 2.5) и Google Data APIs Python Client Library.

После установки Python, Google Data APIs Python Client Library и GoogleCL, вы сможете печатать команды, которые позволят вам загружать фотографии в Picasa Web, загружать видео на YouTube, публиковать записи в Blogger, добавлять события в Google Calendar, находить контакты в Gmail и многое другое.
И это особенно интересно, потому что, как известно, Chrome OS будет иметь специальный режим разработки, в котором опытные пользователи смогут общаться с системой посредством командной строки.

Ниже, несколько типичных команд:

google calendar add "Meet Mary tomorrow at 10am"
(добавляет событие в Google Calendar)

google picasa get "Album Title" c:\files\picasa\
(скачать все файлы из одного из ваших альбомов)

google picasa create --title "Miami Beach" c:\files\photos\miami\*.jpg
(загрузить фотографии в новый альбом)

google youtube post --title "Summer in Rome" c:\videos\rome.avi
(загрузить видео на YouTube)

google docs get --title "Reports .*"
(загрузить файлы, которые начинаются со слова "Reports" в заголовке)

google docs upload c:\files\*.doc
(загрузить *.doc файлы из папки в Google Docs)

Весь список доступных команд можно узнать через запрос google --help или, прочитав мануал.

Даниил Высоцкий @Cherezzabo 
карма
0,0
 
рейтинг0,0

Комментарии (29)

  •   
    +12
      
    Вспомнилась социальная сеть о базах данных, в которой чтоб что-либо сделать, нужно просто написать SQL-запрос :)
    •     
      0
        
      Консольный менеджер для вконтакта вспомнился раньше. :) Не могу только топик в «Юморе» найти.
  •   
    +3
      
    Загрузка файлов и альбомов оптом — это действительно вещь, которой часто не хватает!
    •     
      +3
        
      Хотя возможность сделать тоже самое из графического интерфейса устроила бы меня ничем не хуже :)
      •     
        +3
          
        и для этого слава богу есть picasa (редактор и менеджер фото)
      •     
        0
          
        «google calendar add» чем не угодил в качестве бесплатных смс для мониторинга сервера например? :)
      •   
        0
          
        У нас на этой штуке CRM построена. Почему не использовали напрямую Google Data APIs Python Client Library? Молодые, зеленые были :)
        Реально удобна штука.
        • НЛО прилетело и опубликовало эту надпись здесь
          •     
            +5
              
            Запускайте питоновский скрипт из любого другого шелла, что вам мешает?
            •     
              –1
                
              Почитайте мою первую статью на хабре )) Это просто стереотип
            •   
              +2
                
              О… Я с этим «Google Data APIs Python Client Library» сейчас на работе проект делаю.
              В процессе даже пару патчей им отослал))
              •   
                +11
                  
                Кстати вот гляньте еще goosh.org/
                •   
                  0
                    
                  Можно организовать некоторое подобие CDN :)
                  •   
                    0
                      
                    а существую способы научить скрипт понимать backspace?
                    • НЛО прилетело и опубликовало эту надпись здесь
                      •   
                        0
                          
                        Однако, весьма полезно)))
                        •   
                          0
                            
                          Класс! Почему я раньше об этом не знал…
                          Все таки гугл — молодцы. Доступ к сервисам через cli это просто супер, открывает такой простор для возможностей, ммм… *__*
                          Например заливать фото/документы на сервер по крону. Кинул фотку в нужную папку, она раз и синкнулась.
                          Вообще уйму всего можно придумать полезного.
                          •     
                            0
                              
                            Вы раньше не знали, потому что готовое решение под консоль только появилось. Хотя API конечно уже давно был.
                          •   
                            +1
                              
                            Наконец-то!
                            Это то, о чем я мечтал последние полгода))
                            Держись, ютьюб. Я иду)
                            •     
                              +1
                                
                              Да у гугля почти к любому сервису есть API и все основаны на GData протоколе который основан на Atom. Довольно мощная штука, хотя язык запросов к данным довольно мутный
                              Плюс к этому протоколу есть оф. библиотеки для разных ЯП
                            •   
                              –3
                                
                              Linux Google OS :)
                              •   
                                0
                                  
                                странно, вываливает на любое действие:
                                «Timestamp is too far from current time: 1276940628; Request token retrieval failed! Failed to get valid access token!»

                                Есть еще скрипт для поиска по гуглю из консоли, на рубиписанный
                                •   
                                  +1
                                    
                                  А картинки в виде ASCII-арта буду показываться?
                                  •   
                                    0
                                      
                                    Установил это под winxp, используя этот мануал:
                                    publicint.blogspot.com/2010/06/setup-googlecl-on-winxp.html

                                    Попробовал поюзать такие скиллы, как «быстрое добавление события в календарь» и «аплоад папки с фотографиями в пикасу».
                                    В пикасу выгружает на ура, это здорово. Но не работает с юникодом (или делает это как-то не так, или я это делаю как-то не так), т.о. нельзя писать событие для календаря на русском. это в общем то не страшно. Но вот calendar add получается буквально через раз, отвечает RequestError.
                                    •   
                                      0
                                        
                                      А, кстати, почему эта штука не даёт доступа к поиску? Понятно, что есть такая отговорка: зачем вам результаты поиска без браузера (пользуйте сразу консольный браузер, где поиск и так доступен по известному адресу). Но могу это парировать, например, вот чем: Гугл же имеет спец. выдачу по ряду запросов (например, «кубок мира» или «2+2*2»). Так почему бы не пустить к ней, если есть API для поиска?


                                    Setup GoogleCL on WinXP

                                    UPDATE: These instructions were originally written for version 0.9.5. I have started updating them with differences found in the newer 0.9.7 version of GoogleCL. If you find more differences I should mention, please leave a comment. Thanks!
                                    Google just announced their new command line utility for Google services. The GoogleCL project is an Open Source project hosted on Google Code. Although the project page is obviously slanted toward Linux, I figured it's Python so it shouldn't be too hard to run on Windows too. Here's what I had to do to get things setup on Windows XP Professional SP3.

                                    First some downloads:

                                    Note: GoogleCL requires Python 2.5 or 2.6.

                                    Install Python

                                    Run the .msi file to install Python. I installed to C:\dev\Python\Python25 and I added C:\dev\Python\Python25 to my PATHfor easier command line access to python.exe.

                                    Install Google Data API

                                    I unzipped gdata-2.0.10.zip to C:\dev\Python\gdata-2.0.10 and ran setup.py install from C:\dev\Python\gdata-2.0.10. No problems encountered there.
                                    C:\dev\Python\gdata-2.0.10>setup.py install

                                    Install GoogleCL

                                    I unzipped googlecl-0.9.5.tar.gz to C:\dev\Python\googlecl-0.9.5 and ran setup.py install from C:\dev\Python\googlecl-0.9.5. Again, no problems.
                                    C:\dev\Python\googlecl-0.9.5>setup.py install

                                    Write a "google" script

                                    Next I wanted a "google" command that would be as easy to run from the Windows command line as the Linux examples were. I wrote this google.cmd file and put it on my PATH:
                                    @echo off
                                    SET googlecl_home=C:\dev\Python\googlecl-0.9.5\src

                                    python %googlecl_home%\google %*
                                    Now, running google docs list got me a prompt for my user name. But instead of prompting for a password, GoogleCL uses OAuth. This is the message I got:

                                    Note: this was true as of GoogleCL v0.9.5 - see below for v0.9.7

                                    (Hint: You can automatically launch your browser by adding "auth_browser = " to your config file under the GENERAL section, or define the BROWSER environment variable.)

                                    Please log in and/or grant access via your browser at
                                    https://www.google.com/accounts/OAuthAuthorizeToken?oauth_token=[token removed]
                                    then hit enter.
                                    Well, obviously that wouldn't do. It would have been nice if it had told me where to find that config file, but it wasn't hard to locate. As alert reader Brian B. pointed out, the first time you run GoogleCL it will try to locate the config file and if it doesn't find one, it will tell you the path and create the file for you. Mine was in C:\Documents and Settings\itruett\.googlecl.
                                    The path for my browser, Google Chrome, is a little less intuitive. I found it, and added this to my GoogleCL config file:
                                    auth_browser = C:\Documents and Settings\itruett\Local Settings\Application Data\Google\Chrome\Application\chrome.exe
                                    The next time I ran GoogleCL, Chrome launched and showed me the authorization page. A couple of clicks and that was done. I had to authorize once for each Google service.

                                    Update: v0.9.7 Browser Authorization

                                    The first time you try to access each service, GoogleCL will display this message:
                                    Please log in and/or grant access via your browser at
                                    https://www.google.com/accounts/OAuthAuthorizeToken?oauth_token=[token removed]
                                    then hit enter.
                                    GoogleCL will launch your default browser to the authorization page where you can grant your approval. You only need to do this once for each service.
                                    Version 0.9.5 required auth_browser to be set in your GoogleCL config file in order to launch the browser automatically. Reader Joe Ledvina reported that auth_browser causes problems with version 0.9.7. Removing auth_browser will allow your default browser to launch. I believe this to be a bug and reported it as such in a comment to issue #51.
                                    One complaint I have about the authorizations is that they just show up as "anonymous" in My Account. If I use GoogleCL for the same account from two different computers, I don't know how I'd be able to tell the difference if I wanted to revoke access for one of them.
                                    No, unfortunately I did not write this post offline and then submit it with GoogleCL. Maybe next time. Now I wonder if I can get it to run on Android.


                                    0 коммент.:

                                    Отправить комментарий