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); } }
$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 // every request to the API. $oauthInfo = $user->GetOAuthInfo(); print "OAuth authorization successful.\n"; print_r($oauthInfo); // Get all ad units. $inventoryService = $user->GetService('InventoryService'); $page = $inventoryService->getAdUnitsByStatement(new Statement('LIMIT 500')); // Display number of ad units. printf("Found %d ad units.\n", $page->totalResultSetSize); } catch (Exception $e) { print $e->getMessage(); }