GoogleのAPIをRubyから使おうと思ってgoogle-api-clientをしようとすると、警告が出ます。

こんなふうにGemfileに書いてbundle installすると

gem 'google-api-client'

インストールはされるんだけど、以下のようにメッセージが出てくる。

Bundle complete! 37 Gemfile dependencies, 165 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
Post-install message from google-api-client:
*******************************************************************************
The google-api-client gem is deprecated and will likely not be updated further.

Instead, please install the gem corresponding to the specific service to use.
For example, to use the Google Drive V3 client, install google-apis-drive_v3.
For more information, see the FAQ in the OVERVIEW.md file or the YARD docs.
*******************************************************************************

メッセージの意味としてはgoogle-api-client gemは非推奨だから、今後更新されません、 代わりに使用する特定のサービスに対応するgemをインストールしてね、ってことですね。

ということで、このメッセージが出てこないようにするにはサービスごとのgemで自分が使いたいものを指定して使えばOK

以下の例はYouTubeのAnalyticsとReportingのAPIを使うための指定方法になります。

gem 'google-apis-youtube_analytics_v2'
gem 'google-apis-youtubereporting_v1'

どんなgemがあるの?というところは以下を見ればOK。リンク先を見ると本当にたくさんあることがわかりますね。

これを書いている時点でざっと614種類ありました。

Gemfileに書くときは先頭にgoogle-apis-を付与して書けばOK。

google-api-ruby-client

つまり、google-api-clientでインストールすると毎回600以上、全てのサービスに対応するためのgemが全て使用可能な状態になるということなのかもしれません。

それはさすがにファットですね。

この記事の環境情報

  • Ruby 3.1.2
  • rails 7.0.4
  • さむくなってきた