public function __construct($authenticationIniPath = null, $applicationName = null, $networkCode = null, $settingsIniPath = null, $oauth2Info = null) { parent::__construct(); $config = $this->getConfig(); $this->libName = $config['Dfp']['build']['LIB_NAME']; $this->libVersion = $config['common']['build']['LIB_VERSION']; $apiProps = ApiPropertiesUtils::ParseApiPropertiesFile(dirname(__FILE__) . '/api.properties'); $versions = explode(',', $apiProps['api.versions']); $defaultVersion = $versions[count($versions) - 1]; $defaultServer = $apiProps['api.server']; if ($authenticationIniPath === null) { $authenticationIniPath = dirname(__FILE__) . '/../auth.ini'; } $authenticationIni = parse_ini_file(realpath($authenticationIniPath), true); $applicationName = $this->GetAuthVarValue($applicationName, self::USER_AGENT_HEADER_NAME, $authenticationIni); $networkCode = $this->GetAuthVarValue($networkCode, 'networkCode', $authenticationIni); $oauth2Info = $this->GetAuthVarValue($oauth2Info, 'OAUTH2', $authenticationIni); if (isset($oauth2Info['oAuth2AdditionalScopes'])) { $scopes = explode(',', $oauth2Info['oAuth2AdditionalScopes']); } else { $scopes = array(); } $scopes[] = self::OAUTH2_SCOPE; $this->SetOAuth2Info($oauth2Info); $this->SetApplicationName($applicationName); $this->SetClientLibraryUserAgent($applicationName); $this->SetNetworkCode($networkCode); $this->SetScopes($scopes); if ($settingsIniPath === null) { $settingsIniPath = dirname(__FILE__) . '/../settings.ini'; } $this->loadSettings($settingsIniPath, $defaultVersion, $defaultServer, getcwd(), dirname(__FILE__)); }
/** * The AdWordsUser constructor. * <p>The AdWordsUser class can be configured in one of two ways: * <ol><li>Using an authenitcation INI file</li> * <li>Using supplied credentials</li></ol></p> * <p>If an authentication INI file is provided and successfully loaded, those * values will be used unless a corresponding parameter overwrites it. * If the authentication INI file is not provided (e.g. it is <var>null</var>) * the class will attempt to load the default authentication file at the path * of "../auth.ini" relative to this file's directory. Any corresponding * parameter, which is not <var>null</var>, will, however, overwrite any * parameter loaded from the default INI.</p> * <p>Likewise, if a custom settings INI file is not provided, the default * settings INI file will be loaded from the path of "../settings.ini" * relative to this file's directory.</p> * @param string $authenticationIniPath the absolute path to the * authentication INI or relative to the current directory (cwd). If * <var>null</var>, the default authentication INI file will attempt to be * loaded * @param string $developerToken the developer token (required header). Will * overwrite the developer token entry loaded from any INI file * @param string $userAgent the user agent name (required header). Will * be prepended with the library name and version. Will overwrite the * userAgent entry loaded from any INI file * @param string $clientCustomerId the client customer ID to make the request * against (optional header). Will overwrite the clientCustomerId entry * loaded from any INI file * @param string $settingsIniPath the path to the settings INI file. If * <var>null</var>, the default settings INI file will be loaded * @param array $oauth2Info the OAuth 2.0 information to use for requests */ public function __construct($authenticationIniPath = null, $developerToken = null, $userAgent = null, $clientCustomerId = null, $settingsIniPath = null, $oauth2Info = null) { parent::__construct(); $buildIniAw = parse_ini_file(dirname(__FILE__) . '/build.ini', false); $buildIniCommon = parse_ini_file(dirname(__FILE__) . '/../../Common/Lib/build.ini', false); $this->libName = $buildIniAw['LIB_NAME']; $this->libVersion = $buildIniCommon['LIB_VERSION']; $apiProps = ApiPropertiesUtils::ParseApiPropertiesFile(dirname(__FILE__) . '/api.properties'); $versions = explode(',', $apiProps['api.versions']); $defaultVersion = $versions[count($versions) - 1]; $defaultServer = $apiProps['api.server']; if ($authenticationIniPath === null) { $authenticationIniPath = dirname(__FILE__) . '/../auth.ini'; } $authenticationIni = parse_ini_file(realpath($authenticationIniPath), true); $developerToken = $this->GetAuthVarValue($developerToken, 'developerToken', $authenticationIni); $userAgent = $this->GetAuthVarValue($userAgent, self::USER_AGENT_HEADER_NAME, $authenticationIni); $clientCustomerId = $this->GetAuthVarValue($clientCustomerId, 'clientCustomerId', $authenticationIni); $oauth2Info = $this->GetAuthVarValue($oauth2Info, 'OAUTH2', $authenticationIni); $clientId = $this->GetAuthVarValue(null, 'clientId', $authenticationIni); if ($clientId !== null) { throw new ValidationException('clientId', $clientId, 'The authentication key "clientId" has been changed to' . ' "clientCustomerId", please use that instead.'); } $this->SetOAuth2Info($oauth2Info); $this->SetUserAgent($userAgent); $this->SetClientLibraryUserAgent($userAgent); $this->SetClientCustomerId($clientCustomerId); $this->SetDeveloperToken($developerToken); if ($settingsIniPath === null) { $settingsIniPath = dirname(__FILE__) . '/../settings.ini'; } $this->LoadSettings($settingsIniPath, $defaultVersion, $defaultServer, getcwd(), dirname(__FILE__)); }
/** * The DfpUser constructor. * <p>The DfpUser class can be configured in one of two ways: * <ol> * <li>Using an authentication INI file</li> * <li>Using supplied credentials</li> * </ol></p> * <p>If an authentication INI file is provided and successfully loaded, those * values will be used unless a corresponding parameter overwrites it. * If the authentication INI file is not provided (e.g. it is <var>NULL</var>) * the class will attempt to load the default authentication file at the path * of "../auth.ini" relative to this file's directory. Any corresponding * parameter, which is not <var>NULL</var> will however, overwrite any * parameter loaded from the default INI.</p> * <p>Likewise, if a custom settings INI file is not provided, the default * settings INI file will be loaded from the path of "../settings.ini" * relative to this file's directory.</p> * @param string $authenticationIniPath the absolute path to the * authentication INI or relative to the current directory (cwd). If * <var>NULL</var>, the default authentication INI file will attempt to be * loaded * @param string $applicationName the application name (required header). Will * be prepended with the library name and version. Will also overwrite the * applicationName entry in any INI file * @param string $networkCode the network code the user belongs to * (optional header). Can be left <var>NULL</var> if the user only belongs * to one network. Will overwrite the networkCode entry in any INI * file * @param string $settingsIniPath the path to the settings INI file. If * <var>NULL</var>, the default settings INI file will be loaded * @param array $oauth2Info the OAuth 2.0 information to use for requests */ public function __construct($authenticationIniPath = NULL, $applicationName = NULL, $networkCode = NULL, $settingsIniPath = NULL, $oauth2Info = NULL) { parent::__construct(); $buildIniDfp = parse_ini_file(dirname(__FILE__) . '/build.ini', false); $buildIniCommon = parse_ini_file(dirname(__FILE__) . '/../../Common/Lib/build.ini', false); $this->libName = $buildIniDfp['LIB_NAME']; $this->libVersion = $buildIniCommon['LIB_VERSION']; $apiProps = ApiPropertiesUtils::ParseApiPropertiesFile(dirname(__FILE__) . '/api.properties'); $versions = explode(',', $apiProps['api.versions']); $defaultVersion = $versions[count($versions) - 1]; $defaultServer = $apiProps['api.server']; if (isset($authenticationIniPath)) { $authenticationIni = parse_ini_file(realpath($authenticationIniPath), TRUE); } else { $authenticationIni = parse_ini_file(dirname(__FILE__) . '/../auth.ini', TRUE); } $applicationName = $this->GetAuthVarValue($applicationName, self::USER_AGENT_HEADER_NAME, $authenticationIni); $networkCode = $this->GetAuthVarValue($networkCode, 'networkCode', $authenticationIni); $oauth2Info = $this->GetAuthVarValue($oauth2Info, 'OAUTH2', $authenticationIni); $this->SetOAuth2Info($oauth2Info); $this->SetApplicationName($applicationName); $this->SetClientLibraryUserAgent($applicationName); $this->SetNetworkCode($networkCode); if (!isset($settingsIniPath)) { $settingsIniPath = dirname(__FILE__) . '/../settings.ini'; } $this->loadSettings($settingsIniPath, $defaultVersion, $defaultServer, getcwd(), dirname(__FILE__)); }