0
Help us understand the problem. What are the problem?
Organization

Google Ads APIバージョンの確認・アップグレード

アップグレード通知は突然に

それは突然やってきました。
(メール引用)
スクリーンショット 2022-04-28 13.50.01.png

あ、アップグレードしなきゃ:neutral_face:
いや待てよ...そもそもバージョンの指定なんてした覚えがないのですが?

APIの呼び出し環境

RoRで開発を進めているプロジェクトなので、もちろんAPIの呼び出しには公式のgemを使っています。
https://github.com/googleads/google-ads-ruby

バージョン指定箇所の大捜索

プロジェクト内で指定している箇所を検索しました。
しかし、探せど探せど見つからない。
流石にconfigファイルにあるだろうと思ったけど見つからない。

そうだGitHub上で探そう

こう思えるようになったのも自分の成長の証な気がしました。
GitHub上でバージョンに関係しそうなファイルを探します。

ついに手がかりを見つけました。
https://github.com/googleads/google-ads-ruby/blob/4cfbc9f04c3afeea2327a1675394aa3cb7621231/lib/google/ads/google_ads/api_versions.rb

module Google
  module Ads
    module GoogleAds
      KNOWN_API_VERSIONS = [:V8, :V9, :V10]
      DEFAULT_API_VERSION = :V10

      def self.default_api_version
        DEFAULT_API_VERSION
      end

      def self.known_api_versions
        KNOWN_API_VERSIONS
      end

      def self.valid_version?(version)
        known_api_versions.include?(version)
      end
    end
  end
end

つまり、デフォルトはv10なんだな?ん?

ローカルで確認

早速rails cで確認します。

pry(main)> Google::Ads::GoogleAds.default_api_version
=> :V8

v8なんだよなあ。だからあのメールが来たんですけどね。

結局gemのバージョンが低いだけ

結局gemのバージョンを14に固定していたのが原因でした。
なぜそこに一番に目が行かなかったのかと思う方もいるかもしれません。
でもこれを見てください。
https://rubygems.org/gems/google-ads-googleads/versions/0.3.0?locale=ja
v14のリリースから1年も経っていないのです。
リリース1年未満のバージョンが動作しなくなるなんて思ってもいなかったのです。
こういう思い込み本当に良くないですね。
gemのバージョンを16にすると問題は解決できました。

pry(main)> Google::Ads::GoogleAds.default_api_version
=> :V10

追伸

当たり前ですが、バージョンをコードで指定する方法もあると思います

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
0
Help us understand the problem. What are the problem?