Exemplo n.º 1
0
 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);
     }
 }
Exemplo n.º 2
0
// $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 {
    // 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.
    $user = new DfpUser();
    $user->LogDefaults();
    $user->SetOAuthInfo($oauthInfo);
    // Request a new OAuth token. Web applications should pass in a callback URL
    // to redirect the user to after authorizing the token.
    $user->RequestOAuthToken();
    // Get the authorization URL for the OAuth token.
    $authorizationUrl = $user->GetOAuthAuthorizationUrl();
    // In a web application, you would redirect the user to the authorization URL
    // and after approving the token they would be redirected back to the
    // callback URL, with the URL parameter "oauth_verifier" added. For desktop
    // or server applications, spawn a browser to the URL and then have the user
    // enter the verification code that is displayed.
    printf("Log in to your DFP account and open the following URL: %s\n", $authorizationUrl);
    print 'After approving the token enter the verification code here: ';
    $stdin = fopen('php://stdin', 'r');
    $verifier = trim(fgets($stdin));
    fclose($stdin);
    // Upgrade the authorized token.
    $user->UpgradeOAuthToken($verifier);
    // An upgraded token does not expire and should be stored and reused for