*/
error_reporting(E_STRICT | E_ALL);
// You can set the include path to src directory or reference
// DfpUser.php directly via require_once.
// $path = '/path/to/dfp_api_php_lib/src';
$path = dirname(__FILE__) . '/../../../src';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
require_once 'Google/Api/Ads/Dfp/Lib/DfpUser.php';
try {
    // Get DfpUser from credentials in "../auth.ini"
    // relative to the DfpUser.php file's directory.
    $user = new DfpUser();
    // Log SOAP XML request and response.
    $user->LogDefaults();
    // Get the NetworkService.
    $networkService = $user->GetNetworkService('v201104');
    // Get all networks that you have access to with the current login
    // credentials.
    $networks = $networkService->getAllNetworks();
    // Display results.
    if (isset($networks)) {
        $i = 0;
        foreach ($networks as $network) {
            print $i . ') Network with network code "' . $network->networkCode . '" and display name "' . $network->displayName . "\" was found.\n";
            $i++;
        }
    }
    print 'Number of results found: ' . $i . "\n";
} catch (Exception $e) {
    print $e->getMessage() . "\n";
}
 public function test_dfp()
 {
     require_once '/home/sites/berrics.v3/shared/vendors/dfp/src/Google/Api/Ads/Dfp/Lib/DfpUser.php';
     if (isset($_REQUEST['oauth_verifier'])) {
         $oauthVerifier = $_REQUEST['oauth_verifier'];
     }
     if (!isset($oauthVerifier)) {
         // Set the OAuth consumer key and secret. Anonymous values can be used for
         // testing, and real values can be obtained by registering your application:
         // http://code.google.com/apis/accounts/docs/RegistrationForWebAppsAuto.html
         $oauthInfo = array('oauth_consumer_key' => 'anonymous', 'oauth_consumer_secret' => 'anonymous');
         // Create the DfpUser and set the OAuth info.
         $iniPath = dirname(__FILE__) . '/../';
         $authFile = $iniPath . 'auth.ini';
         $settingsFile = $iniPath . 'settings.ini';
         $user = new DfpUser($authFile, NULL, NULL, NULL, NULL, $settingsFile);
         $user->SetOAuthInfo($oauthInfo);
         // Use the URL of the current page as the callback URL.
         $protocol = isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on" ? 'https://' : 'http://';
         $server = $_SERVER['HTTP_HOST'];
         $path = $_SERVER["REQUEST_URI"];
         $callbackUrl = $protocol . $server . $path;
         try {
             // Request a new OAuth token. For a web application, pass in the optional
             // callbackUrl parameter to have the user automatically redirected back
             // to your application after authorizing the token.
             $user->RequestOAuthToken($callbackUrl);
             // Get the authorization URL for the OAuth token.
             $location = $user->GetOAuthAuthorizationUrl();
         } catch (OAuthException $e) {
             // Authorization was not granted.
             $error = 'Failed to authenticate: ' . str_replace("\n", " ", isset($e->lastResponse) ? $e->lastResponse : $e->getMessage());
         }
     } else {
         // Get the user from session.
         session_start();
         $user = new DfpUser();
         session_write_close();
         try {
             // Upgrade the authorized token.
             $user->UpgradeOAuthToken($oauthVerifier);
             // Set network code.
             $networkService = $user->GetNetworkService();
             $networks = $networkService->getAllNetworks();
             if (sizeof($networks) > 0) {
                 $user->SetNetworkCode($networks[0]->networkCode);
             }
             $location = 'index.php';
         } catch (OAuthException $e) {
             // Authorization was not granted.
             $error = 'Failed to authenticate: ' . str_replace("\n", " ", isset($e->lastResponse) ? $e->lastResponse : $e->getMessage());
         }
     }
     if (!isset($error)) {
         // Store the user in session.
         session_start();
         die(pr($_SESSION));
         session_write_close();
         // Redirect to application home page.
         Header('Location: ' . $location);
     } else {
         // Remove the user from session.
         session_start();
         //ServiceUserManager::RemoveServiceUser($user);
         session_write_close();
         // Redirect to application home page.
         Header('Location: index.php?error=' . $error);
     }
 }