本文整理汇总了PHP中AdWordsUser::GetOAuthInfo方法的典型用法代码示例。如果您正苦于以下问题:PHP AdWordsUser::GetOAuthInfo方法的具体用法?PHP AdWordsUser::GetOAuthInfo怎么用?PHP AdWordsUser::GetOAuthInfo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AdWordsUser
的用法示例。
在下文中一共展示了AdWordsUser::GetOAuthInfo方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: UseOAuthExample
/**
* Runs the example.
*/
function UseOAuthExample()
{
// 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 AdWordsUser and set the OAuth info.
$user = new AdWordsUser();
$user->SetOAuthInfo($oauthInfo);
$user->LogAll();
// 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 AdWords 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 the number of campaigns in the account.
$campaignService = $user->GetService('CampaignService', ADWORDS_VERSION);
$selector = new Selector();
$selector->fields = array('Id');
$selector->paging = new Paging(0, 0);
$page = $campaignService->get($selector);
// Display number of campaigns.
printf("Found %d campaigns.\n", $page->totalNumEntries);
}
示例2: GetHeaders
/**
* Gets the HTTP headers for the report download request.
* @param AdWordsUser $user the AdWordsUser to get credentials from
* @param string $url the URL the request will be made to
* @param array $options the options for the download
* @return array and array of strings, which are header names and values
*/
private static function GetHeaders($user, $url, array $options = NULL)
{
$headers = array();
$version = !empty($options['version']) ? $options['version'] : $user->GetDefaultVersion();
// Authorization.
if ($user->GetOAuthInfo()) {
$oauthParams = $user->GetOAuthHandler()->GetSignedRequestParameters($user->GetOAuthInfo(), $url, 'POST');
$headers['Authorization'] = 'OAuth ' . $user->GetOAuthHandler()->FormatParametersForHeader($oauthParams);
} elseif ($user->GetOAuth2Info()) {
if (!$user->IsOAuth2AccessTokenValid() && $user->CanRefreshOAuth2AccessToken()) {
$user->RefreshOAuth2AccessToken();
}
$oauth2Header = $user->GetOAuth2Handler()->FormatCredentialsForHeader($user->GetOAuth2Info());
$headers['Authorization'] = $oauth2Header;
} else {
$headers['Authorization'] = 'GoogleLogin auth=' . $user->GetAuthToken();
}
// Developer token.
$headers['developerToken'] = $user->GetDeveloperToken();
// Target client.
$email = $user->GetEmail();
$clientId = $user->GetClientId();
if (isset($clientId)) {
if (strpos($clientId, '@') !== FALSE) {
if ($version < 'v201109') {
$headers['clientEmail'] = $clientId;
} else {
throw new ReportDownloadException('Client emails are not supported ' . 'in versions v201109 and later.');
}
} else {
$headers['clientCustomerId'] = $clientId;
}
} else {
if ($version < 'v201109' && isset($email)) {
$headers['clientEmail'] = $email;
} else {
throw new ReportDownloadException('The client customer ID must be ' . 'specified for report downloads.');
}
}
// Flags.
if (isset($options['returnMoneyInMicros'])) {
$headers['returnMoneyInMicros'] = $options['returnMoneyInMicros'] ? 'true' : 'false';
}
return $headers;
}