Biblioteka klienta interfejsu Google Ads API dla języka PHP udostępnia kilka ustawień konfiguracji, których możesz używać do dostosowywania działania biblioteki.
Plik konfiguracji
Większość tych ustawień konfiguracji możesz przechowywać w plikach konfiguracji INI i używać ich podczas tworzenia instancji klientów, np. google_ads_php.ini.
Kreatory danych logowania i klienta udostępniają metody fromFile do wczytywania ustawień z takich plików:
$oAuth2Credential = (new OAuth2TokenBuilder())
->fromFile('/path/to/google_ads_php.ini')
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->fromFile('/path/to/google_ads_php.ini')
->withOAuth2Credential($oAuth2Credential)
->build();
Jeśli jako argument nie zostanie podana ścieżka konfiguracji, metody fromFile wczytują dane z domyślnej ścieżki konfiguracji, czyli:
- Wartość zmiennej środowiskowej o nazwie
GOOGLE_ADS_CONFIGURATION_FILE_PATH, jeśli jest ustawiona. - W przeciwnym razie plik
google_ads_php.iniw kataloguHOME.
$oAuth2Credential = (new OAuth2TokenBuilder())
->fromFile()
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->fromFile()
->withOAuth2Credential($oAuth2Credential)
->build();
Konfiguracja dynamiczna
Te ustawienia konfiguracji możesz ustawiać dynamicznie podczas tworzenia instancji klientów:
$oAuth2Credential = (new OAuth2TokenBuilder())
->withClientId('INSERT_CLIENT_ID_HERE')
->withClientSecret('INSERT_CLIENT_SECRET_HERE')
->withRefreshToken('INSERT_REFRESH_TOKEN_HERE')
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
->build();
Zmienne środowiskowe konfiguracji
Niektóre ustawienia konfiguracji możesz określić za pomocą zmiennych środowiskowych podczas tworzenia instancji klientów (zobacz standardowe zmienne środowiskowe).
Zarówno kreatory danych logowania, jak i kreatory klienta udostępniają metody fromEnvironmentVariables do wczytywania ustawień ze zmiennych środowiskowych.
$oAuth2Credential = (new OAuth2TokenBuilder())
// ...
->fromEnvironmentVariables()
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
// ...
->fromEnvironmentVariables()
->build();
Pola konfiguracji
Ustawienia konfiguracji obsługują kilka pól uporządkowanych według kategorii:
- Pola używane przez
OAuth2TokenBuilder:- Tryb aplikacji:
[OAUTH2] clientId: Twój identyfikator klienta OAuth2.[OAUTH2] clientSecret: tajny klucz klienta OAuth2.[OAUTH2] refreshToken: token odświeżania OAuth2.
- Tryb konta usługi:
[OAUTH2] jsonKeyFilePath: ścieżka klucza JSON.[OAUTH2] scopes: zakresy OAuth2 (domyślniehttps://www.googleapis.com/auth/adwordsw wersjiv32.1.0i nowszych; wymagane w wersjach starszych niżv32.1.0lub w przypadku korzystania z zakresów niestandardowych; nie są odczytywane ze zmiennej środowiskowej przezfromEnvironmentVariables()).[OAUTH2] impersonatedEmail: opcjonalny adres e-mail, pod który można się podszyć podczas korzystania z przekazywania dostępu w całej domenie Google Workspace.
- Tryb domyślnego uwierzytelniania aplikacji:
- Jeśli nie ustawiono pól trybu aplikacji ani trybu konta usługi,
OAuth2TokenBuilderautomatycznie przełącza się na domyślne uwierzytelnianie aplikacji (ADC).
- Jeśli nie ustawiono pól trybu aplikacji ani trybu konta usługi,
- Tryb aplikacji:
- Pola używane przez
GoogleAdsClientBuilder:[GOOGLE_ADS] loginCustomerId: identyfikator autoryzowanego klienta, który ma być użyty w żądaniu.[GOOGLE_ADS] linkedCustomerId: identyfikator połączonego klienta.[GOOGLE_ADS] endpoint: opcjonalny alternatywny punkt końcowy serwera interfejsu Google Ads API.[LOGGING] logFilePath: ścieżka do danych wyjściowych logowania.[LOGGING] logLevel: poziom rejestrowania.[CONNECTION] proxy: adres URL serwera proxy używanego do połączenia z internetem.[CONNECTION] transport: transport sieciowy (grpclubrest).[CONNECTION] grpcChannelIsSecure: określa, czy kanał gRPC jest bezpieczny.[CONNECTION] grpcChannelCredential: dane logowania kanału gRPC.[CONNECTION] unaryMiddlewares: oprogramowanie pośredniczące jednoargumentowe.[CONNECTION] streamingMiddlewares: oprogramowanie pośredniczące do strumieniowania.[CONNECTION] grpcInterceptors: przechwytywacze gRPC.
Weryfikacja konfiguracji
Ustawienia konfiguracji są sprawdzane podczas tworzenia instancji klientów, a w przypadku nieprawidłowości są zgłaszane wyjątki. Reguły weryfikacji są następujące:
- Pola
[OAUTH2]nie mogą być ustawione jednocześnie dla trybu aplikacji i trybu konta usługi. - W przypadku korzystania z trybu konta usługi należy ustawić
[OAUTH2] jsonKeyFilePath(w wersjach starszych niżv32.1.0należy też ustawić[OAUTH2] scopes; w wersjiv32.1.0i nowszychscopesdomyślnie ma wartośćhttps://www.googleapis.com/auth/adwords). - W przypadku korzystania z trybu aplikacji należy ustawić parametry
[OAUTH2] clientId,[OAUTH2] clientSecreti[OAUTH2] refreshToken. - Jeśli ustawiono,
[GOOGLE_ADS] loginCustomerIdi[GOOGLE_ADS] linkedCustomerIdmuszą być liczbami dodatnimi. - Jeśli jest ustawiony,
[CONNECTION] proxymusi być prawidłowym adresem URL (zobacz filtrFILTER_VALIDATE_URL). - Jeśli jest ustawiona,
[LOGGING] logLevelmusi być prawidłowym poziomem logowania PSR zapisanym wielkimi literami, np.INFO. - Jeśli ustawiono,
[CONNECTION] transportmusi mieć wartośćgrpclubrest. - Jeśli właściwość
[CONNECTION] transportjest ustawiona nagrpc, transport gRPC musi być obsługiwany przez środowisko (patrz Przewodnik po transporcie). - Jeśli parametr
[CONNECTION] transportnie jest ustawiony nagrpc, parametr[CONNECTION] grpcChannelIsSecuremusi mieć wartośćtrue(połączenia REST zawsze wymagają protokołu HTTPS). - Wartość
[CONNECTION] grpcChannelCredentialmożna ustawić tylko wtedy, gdy zasada[CONNECTION] transportma wartośćgrpc. - Wartość
[CONNECTION] grpcChannelCredentialmożna ustawić tylko wtedy, gdy[CONNECTION] grpcChannelIsSecuretotrue.