0

我正在尝试为已安装的应用程序获取纯命令行 oauth 流,并且将其拼凑在一起并不容易......文档非常缺乏......我从驱动器示例开始(https://github.com/google /google-api-ruby-client-samples/tree/master/drive)但是当它到达client.authorization = flow.authorize(file_storage)它时,它会尝试启动 webrick 来放置一个网页。我需要与 google 提供的 CLI 工具类似的东西:它需要打印出我需要访问的 URL,然后读取我可以复制和粘贴的响应。谷歌红宝石客户端可以做到这一点吗?

4

1 回答 1

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
于 2014-09-05T22:48:37.407 回答