Konfiguracja

Konfiguracja jest przeprowadzana za pomocą klasy Config. Dostęp do tej klasy można uzyskać na wiele sposobów, takich jak utworzenie pliku konfiguracji, określenie wartości przy tworzeniu lub wczytanie wartości ze zmiennych środowiskowych.

Plik konfiguracji

Możesz określić plik google_ads_config.rb, którego chcesz użyć do utworzenia instancji klienta.

Jeśli przy tworzeniu instancji nie używasz żadnych argumentów:

client = Google::Ads::GoogleAds::GoogleAdsClient.new

to biblioteka będzie znajdować się w lokalizacji określonej w zmiennej środowiskowej GOOGLE_ADS_CONFIGURATION_FILE_PATH. Jeśli ta zmienna nie zostanie ustawiona, plik pojawi się w katalogu HOME w bibliotece.

Możesz też określić ścieżkę:

client = Google::Ads::GoogleAds::GoogleAdsClient.new("path/to/file.rb")

W takim przypadku klient będzie szukał pliku w danej ścieżce.

Najprostszym sposobem na wygenerowanie tego pliku jest skopiowanie google_ads_config.rb z repozytorium GitHub i zmodyfikowanie go w celu dodania tokena odświeżania, identyfikatora klienta i tajnego klucza klienta.

Konfiguracja dynamiczna

Konfigurację możesz skonfigurować dynamicznie podczas tworzenia biblioteki, a nawet po:

client = Google::Ads::GoogleAds::GoogleAdsClient.new do |config|
  config.client_id = 'INSERT_CLIENT_ID_HERE'
  # ... more configuration
end

Możesz nawet zmienić konfigurację po utworzeniu instancji:

client.configure do |config|
  config.login_customer_id = 'INSERT_LOGIN_CUSTOMER_ID_HERE'
  # ... more configuration
end

Pola konfiguracji

Obiekt Config obsługuje te pola.

Pola ogólne:

  • refresh_token: token odświeżania protokołu OAuth.
  • client_id: Twój identyfikator klienta OAuth.
  • client_secret: Twój tajny klucz klienta OAuth.
  • developer_token: token programisty umożliwiający dostęp do interfejsu API.
  • login_customer_id: zapoznaj się z dokumentacją dotyczącą identyfikatora klienta.

Dzienniki logowania. Szczegółowe informacje znajdziesz w przewodniku logowania.

  • log_level: minimalna liczba wiadomości na poziomie logu, które chcesz rejestrować. Na przykład określenie 'DEBUG' zapewni wyświetlanie wszystkich komunikatów logu, a określenie 'INFO' wykluczy wiadomości DEBUG, ale wszystkie inne wiadomości.
  • log_target: miejsce, do którego chcesz się zalogować, np. STDERR.
  • logger: własny rejestrator. Określenie tego ustawienia spowoduje zastąpienie zarówno ciągu log_level, jak i log_target.

Zmienne środowiskowe

Biblioteka klienta możesz skonfigurować za pomocą zmiennych środowiskowych. Nie są one domyślnie wczytywane i po wczytaniu instancji klienta klient musi wywołać dodatkowe wywołanie. Zobacz pełną listę zmiennych środowiskowych obsługiwanych przez wszystkie języki.

Aby wczytać zmienne środowiskowe do Config, wywołaj load_environment_config:

client = Google::Ads::GoogleAds::GoogleAdsClient.new
client.load_environment_config

Przy każdym wywołaniu bieżący stan zmiennych środowiskowych zastąpi wszystkie elementy, które znajdują się już w elemencie Config. Dzięki temu mechanizmowi możesz na przykład mieć konfigurację domyślną, ale zastąpić konkretne wartości przy użyciu zmiennych środowiskowych lub całkowicie skonfigurować zmienne środowiskowe.

Oprócz zmiennych środowiskowych obsługiwanych przez wszystkie biblioteki, biblioteka Ruby ma 2 dodatkowe zmienne:

  • GOOGLE_ADS_RUBY_LOG_LEVEL: jak w powyższym przykładzie (log_level).
  • GOOGLE_ADS_RUBY_HTTP_PROXY: określ serwer proxy HTTP.