существует ли чистый поток oauth командной строки для установленных приложений?

Я пытаюсь получить чистый поток oauth командной строки для установленного приложения, и это непросто собрать воедино... Документов катастрофически не хватает... Я начал с примера диска (https://github.com/google/google-api-ruby-client-samples/tree/master/drive), но когда он доходит до client.authorization = flow.authorize(file_storage), он пытается запустить webrick для создания веб-страницы. Мне нужно что-то, что работает аналогично инструментам CLI, предоставляемым Google: ему нужно распечатать URL-адрес, который мне нужно посетить, а затем прочитать ответ, который я могу скопировать и вставить. Возможно ли это с рубиновым клиентом Google?


person TvE    schedule 05.09.2014    source источник


Ответы (1)


Похоже, следующий обезьяний патч работает:

module Google
  class APIClient
    class InstalledAppFlow
      def authorize_cli(storage)
        puts "Please visit: #{@authorization.authorization_uri.to_s}"
        printf "Enter the code: code="
        code = gets
        @authorization.code = code
        @authorization.fetch_access_token!
        if @authorization.access_token
          if storage.respond_to?(:write_credentials)
            storage.write_credentials(@authorization)
          end
          @authorization
        else
          nil
        end
      end
    end
  end
end
person TvE    schedule 05.09.2014