Biblioteka klienta PHP interfejsu Google Ads API udostępnia kilka ustawień konfiguracyjnych, których możesz użyć do dostosowania jej działania.
Plik konfiguracji
Większość tych ustawień konfiguracji możesz przechowywać w plikach ini
i używać ich podczas tworzenia instancji klientów, np. google_ads_php.ini
.
Konstruktory uwierzytelniania 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 ścieżka konfiguracji nie zostanie podana jako argument, metody fromFile
wczytują się z domyślnej ścieżki konfiguracji, która jest następująca:
- Wartość zmiennej środowiskowej o nazwie
GOOGLE_ADS_CONFIGURATION_FILE_PATH
, jeśli jest ustawiona. - W przeciwnym razie plik
google_ads_php.ini
w 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')
// ...
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
->withDeveloperToken('INSERT_DEVELOPER_TOKEN_HERE')
// ...
->build();
Zmienne środowiskowe konfiguracji
Niektóre ustawienia konfiguracji możesz określić za pomocą zmiennych środowiskowych podczas tworzenia instancji klientów (zobacz pełną listę).
Zarówno narzędzie do tworzenia danych logowania, jak i narzędzie do tworzenia 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 podzielonych na kategorie.
- Pola używane przez
OAuth2TokenBuilder
:- Tryb aplikacji
[OAUTH2] clientId
: identyfikator klienta OAuth2.[OAUTH2] clientSecret
: tajny klucz klienta OAuth2.[OAUTH2] refreshToken
: token odświeżania OAuth2.
- Tryb konta usługi
[OAUTH2] jsonKeyFilePath
: ścieżka do pliku klucza JSON.[OAUTH2] scopes
: zakresy.[OAUTH2] impersonatedEmail
: adres e-mail, który ma być podszywany.
- Tryb aplikacji
- Pola używane przez
GoogleAdsClientBuilder
:[GOOGLE_ADS] developerToken
: token dewelopera umożliwiający dostęp do interfejsu API.[GOOGLE_ADS] loginCustomerId
: identyfikator autoryzowanego klienta, który ma być użyty w żądaniu.[GOOGLE_ADS] linkedCustomerId
: połączony identyfikator klienta.[LOGGING] logFilePath
: ścieżka pliku do logowania.[LOGGING] logLevel
: poziom rejestrowania.[CONNECTION] proxy
: adres URL serwera proxy używany do połączenia z internetem.[CONNECTION] transport
: transport.[CONNECTION] grpcChannelIsSecure
: czy kanał gRPC jest bezpieczny.[CONNECTION] grpcChannelCredential
: dane logowania do kanału gRPC.[CONNECTION] unaryMiddlewares
: funkcje pośredniczące typu unary.[CONNECTION] streamingMiddlewares
: oprogramowanie pośredniczące do strumieniowania.[CONNECTION] grpcInterceptors
: przechwytujące gRPC.
Weryfikacja konfiguracji
Ustawienia konfiguracji są sprawdzane podczas tworzenia instancji klientów, a w przypadku nieprawidłowych ustawień zgłaszane są wyjątki. Oto reguły:
- Pola
[OAUTH2]
nie mogą być ustawione jednocześnie w przypadku trybu aplikacji i trybu konta usługi. - W przypadku korzystania z trybu konta usługi należy ustawić parametry
[OAUTH2] jsonKeyFilePath
i[OAUTH2] scopes
. [OAUTH2] clientId
,[OAUTH2] clientSecret
i[OAUTH2] refreshToken
muszą być ustawione podczas korzystania z trybu aplikacji.[GOOGLE_ADS] developerToken
musi być zawsze ustawiona.- Jeśli te wartości są ustawione,
[GOOGLE_ADS] loginCustomerId
i[GOOGLE_ADS] linkedCustomerId
muszą być liczbami dodatnimi. - Jeśli jest ustawiony, parametr
[CONNECTION] proxy
musi być prawidłowym adresem URL (patrz filtr FILTER_VALIDATE_URL). - Jeśli ten parametr jest ustawiony,
[LOGGING] logLevel
musi być prawidłowym poziomem dziennika PSR w wielkich literach, np.INFO
. - Jeśli ta zasada jest skonfigurowana, wartość
[CONNECTION] transport
musi być równagrpc
lubrest
. - Jeśli
[CONNECTION] transport
ma wartośćgrpc
, środowisko musi obsługiwać transport gRPC (patrz przewodnik transport). - Jeśli wartość
[CONNECTION] transport
nie jest ustawiona nagrpc
, wartość[CONNECTION] grpcChannelIsSecure
musi wynosićtrue
. - Ustawienie
[CONNECTION] grpcChannelCredential
można skonfigurować tylko wtedy, gdy ustawienie[CONNECTION] transport
ma wartośćgrpc
. - Wartość
[CONNECTION] grpcChannelCredential
można ustawić tylko wtedy, gdy wartość[CONNECTION] grpcChannelIsSecure
totrue
.