You can try this code.It gives me the output properly
$username = "";
$password = "";
$customerId = "";
$devToken = "";
// Get an access code for the user
$url = "https://www.google.com/accounts/ClientLogin";
$params = array(
"accountType" => "GOOGLE",
"Email" => $username,
"Passwd" => $password,
"service" => "adwords",
"source" => "test"
);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $params);
//curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$curlData = curl_exec($curl);
curl_close($curl);
// Parse the response
$curlData = explode("\n", $curlData);
$return = array();
foreach ($curlData as $value) {
$value = explode("=", $value, 2);
if (count($value) > 1) {
$return[$value[0]] = $value[1];
}
}
// Extract the access token
$authToken = $return["Auth"];
#
$httpHeaders = array(
"Authorization: GoogleLogin auth=$authToken",
"clientCustomerId: $customerId",
"developerToken: $devToken"
);
$reportDefinition = '<reportDefinition>
<selector>
<fields>AdGroupId</fields>
<fields>AdGroupName</fields>
<fields>CampaignId</fields>
<fields>CampaignName</fields>
<fields>BottomPosition</fields>
<fields>Cost</fields>
<fields>Date</fields>
<fields>FirstPageCpc</fields>
<fields>Id</fields>
<fields>Criteria</fields>
<fields>CriteriaDestinationUrl</fields>
<fields>CriteriaType</fields>
<fields>QualityScore</fields>
<fields>AdNetworkType1</fields>
<fields>AdNetworkType2</fields>
<fields>AverageCpc</fields>
<fields>AverageCpm</fields>
<fields>AveragePosition</fields>
<fields>ClickType</fields>
<fields>Ctr</fields>
<fields>IsNegative</fields>
<fields>MaxCpm</fields>
<fields>PreferredPosition</fields>
<predicates>
<field>CriteriaType</field>
<operator>NOT_EQUALS</operator>
<values>KEYWORD</values>
</predicates>
</selector>
<reportName>report</reportName>
<reportType>CRITERIA_PERFORMANCE_REPORT</reportType>
<dateRangeType>LAST_14_DAYS</dateRangeType>
<downloadFormat>XML</downloadFormat>
</reportDefinition>';
$params = array("__rdxml" => $reportDefinition);
#
$url = "https://adwords.google.com/api/adwords/reportdownload/v201206";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $params);
curl_setopt($curl, CURLOPT_HTTPHEADER, $httpHeaders);
//curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$reportData = curl_exec($curl);
curl_close($curl);
print "$reportData\n";
On Wednesday, August 22, 2012 7:28:51 AM UTC+5:30, dkasak wrote:
>
> Hi all. I'm working on updating our code to v201206 and I'm getting errors
> when doing ad-hoc reports. An example of a request that works:
>
> URL:
> https://adwords.google.com/api/adwords/reportdownload/v201109
>
> Definition:
> <reportDefinition xmlns="
> https://adwords.google.com/api/adwords/cm/v201109">
> <selector>
> <fields>AdGroupId</fields>
> <fields>AdGroupName</fields>
> <fields>CampaignId</fields>
> <fields>CampaignName</fields>
> <fields>BottomPosition</fields>
> <fields>Cost</fields>
> <fields>Date</fields>
> <fields>FirstPageCpc</fields>
> <fields>Id</fields>
> <fields>Criteria</fields>
> <fields>CriteriaDestinationUrl</fields>
> <fields>CriteriaType</fields>
> <fields>QualityScore</fields>
> <fields>AdNetworkType1</fields>
> <fields>AdNetworkType2</fields>
> <fields>AverageCpc</fields>
> <fields>AverageCpm</fields>
> <fields>AveragePosition</fields>
> <fields>ClickType</fields>
> <fields>Ctr</fields>
> <fields>IsNegative</fields>
> <fields>MaxCpm</fields>
> <fields>PreferredPosition</fields>
> <predicates>
> <field>CriteriaType</field>
> <operator>NOT_EQUALS</operator>
> <values>KEYWORD</values>
> </predicates>
> </selector>
> <reportName>report</reportName>
> <reportType>CRITERIA_PERFORMANCE_REPORT</reportType>
> <dateRangeType>LAST_14_DAYS</dateRangeType>
> <downloadFormat>GZIPPED_XML</downloadFormat>
> </reportDefinition>
>
> ---
>
> Just swapping the version numbers, this does NOT work:
>
> URL:
> https://adwords.google.com/api/adwords/reportdownload/v201206
>
> Definition:
> <reportDefinition xmlns="
> https://adwords.google.com/api/adwords/cm/v201206">
> <selector>
> <fields>AdGroupId</fields>
> <fields>AdGroupName</fields>
> <fields>CampaignId</fields>
> <fields>CampaignName</fields>
> <fields>BottomPosition</fields>
> <fields>Cost</fields>
> <fields>Date</fields>
> <fields>FirstPageCpc</fields>
> <fields>Id</fields>
> <fields>Criteria</fields>
> <fields>CriteriaDestinationUrl</fields>
> <fields>CriteriaType</fields>
> <fields>QualityScore</fields>
> <fields>AdNetworkType1</fields>
> <fields>AdNetworkType2</fields>
> <fields>AverageCpc</fields>
> <fields>AverageCpm</fields>
> <fields>AveragePosition</fields>
> <fields>ClickType</fields>
> <fields>Ctr</fields>
> <fields>IsNegative</fields>
> <fields>MaxCpm</fields>
> <fields>PreferredPosition</fields>
> <predicates>
> <field>CriteriaType</field>
> <operator>NOT_EQUALS</operator>
> <values>KEYWORD</values>
> </predicates>
> </selector>
> <reportName>report</reportName>
> <reportType>CRITERIA_PERFORMANCE_REPORT</reportType>
> <dateRangeType>LAST_14_DAYS</dateRangeType>
> <downloadFormat>GZIPPED_XML</downloadFormat>
> </reportDefinition>
>
> ---
>
> What's wrong?
>
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
http://adwordsapi.blogspot.com
http://groups.google.com/group/adwords-api
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
You received this message because you are subscribed to the Google
Groups "AdWords API Forum" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en