Why do I get AuthenticationError.USER_ID_INVALID programmatically but not via OAuth2.0 Playground?

2014-03-18 Thread axtens


Context: Windows 7, IE10, JScript, Peloton, Msxml2.ServerXMLHTTP.6.0

When I execute the following in OAuth2.0 Playground it works perfectly 

POST /api/adwords/reportdownload/v201402 HTTP/1.1
Host: adwords.google.com
Clientcustomerid: blah-blah
Developertoken: blah_blah
Content-type: application/x-www-form-urlencoded
Content-length: 545
Authorization: Bearer ya29.1.blahblahblah
__rdxml=reportDefinition 
xmlns=https://adwords.google.com/api/adwords/cm/v201402;selectorfieldsCampaignId/fieldsfieldsId/fieldsfieldsImpressions/fieldsfieldsClicks/fieldsfieldsCost/fieldspredicatesfieldStatus/fieldoperatorIN/operatorvaluesENABLED/valuesvaluesPAUSED/values/predicates/selectorreportNameCustom
 
https://www.en.adwords-community.com/t5/forums/editpage/board-id/Measure-AdWords/message-id/11644/is-draft/
 Adgroup Performance 
Report/reportNamereportTypeADGROUP_PERFORMANCE_REPORT/reportTypedateRangeTypeLAST_7_DAYS/dateRangeTypedownloadFormatTSV/downloadFormat/reportDefinition

 

However, when I submit the same values programmatically, I get 
`AuthenticationError.USER_ID_INVALID`

@ LETVARo1lCAPAdHocReport1|
reportDefinition xmlns=https://adwords.google.com/api/adwords/cm/v201402; 
https://www.en.adwords-community.com/t5/forums/editpage/board-id/Measure-AdWords/message-id/11644/is-draft/
selector
fieldsCampaignId/fields
fieldsId/fields
fieldsImpressions/fields
fieldsClicks/fields
fieldsCost/fields
predicates
fieldStatus/field
operatorIN/operator
valuesENABLED/values
valuesPAUSED/values
/predicates
/selector
reportNameCustom Adgroup Performance Report/reportName
reportTypeADGROUP_PERFORMANCE_REPORT/reportType
dateRangeTypeLAST_7_DAYS/dateRangeType
downloadFormatTSV/downloadFormat
/reportDefinition/@



@ DEFUDOLITLIT:Hp|__Transformer|
@ DEFKEYLIT__WSHLanguage|JScript/@
@ LETSCPPARurl|1/@
@ LETSCPPARhead|2/@
@ LETSCPPARbody|3/@
@ sayLETSCPCAPcode|
var SXH_OPTION_ESCAPE_PERCENT_IN_URL = 1;
var SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS = 2;
var SXH_OPTION_SELECT_CLIENT_SSL_CERT = 3;
var SXH_OPTION_URL = -1;
var SXH_OPTION_URL_CODEPAGE = 0;

var SXH_SERVER_CERT_IGNORE_UNKNOWN_CA = 256;
var SXH_SERVER_CERT_IGNORE_WRONG_USAGE = 512;
var SXH_SERVER_CERT_IGNORE_CERT_CN_INVALID = 4096;
var SXH_SERVER_CERT_IGNORE_CERT_DATE_INVALID = 8192;
var SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS = 13056;

function HTTPPOST4(url, rHeaders, body) {
  var oHTTP = new ActiveXObject(Msxml2.ServerXMLHTTP.6.0);
  oHTTP.setOption(SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS, 
oHTTP.getOption(SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS) - 
SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS);
  oHTTP.setTimeouts(100, 100, 100, 100);
  oHTTP.open(POST, url, false);

  for (var r in rHeaders) {
oHTTP.setRequestHeader(r, rHeaders[r]);
  }
  
  oHTTP.send(body);
  var res = oHTTP.responseText;
  return res;
}
var head = @ sayscphead/@;
var body = '@ SAYSCPbody/@';
HTTPPOST4('@ SAYSCPurl/@', head, body);
/@
@ LETRESCLCSCP...|code/@
@ DEFKEYLIT__WSHLanguage|VBScript/@
/@

 
The language wrapped around the JScript is called Peloton, and is used 
in-house. The header values are passed in as a JSON object and the body as 
a string.

The result XML I get from this says

?xml version=1.0 encoding=UTF-8 standalone=yes? 
reportDownloadErrorApiErrortypeAuthenticationError.USER_ID_INVALID/typetriggerlt;nullgt;/triggerfieldPath/fieldPath/ApiError/reportDownloadError

If the 'trigger' is to be believed, where is the 'lt;nullgt;'?

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: how do you get the ad id for an item in the display keyword performance report

2014-03-18 Thread patrick o'keeffe
when i try that report its empty i presume its a different kind of network?

On Tuesday, March 11, 2014 10:38:50 AM UTC, patrick o'keeffe wrote:

 How do you get the ad id for an item in the display keyword performance 
 report. its not available in that report so which other report do i need to 
 link to in order to get it and what do i need to link to it with.

 many thanks for any help


-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Day bid plan for each hour

2014-03-18 Thread Danial Klimkin
Hello Dan,


You need to use the AdSchedule Criterion:

  
https://developers.google.com/adwords/api/docs/reference/latest/CampaignCriterionService.AdSchedule

And use it with a campaign criterion:

  
https://developers.google.com/adwords/api/docs/reference/latest/CampaignCriterionService.CampaignCriterion

Defining relevant 'bidModifier' for each time range. Please see 
AddCampaignCriteria example available for all of our libraries:

  https://developers.google.com/adwords/api/docs/clientlibraries


-Danial, AdWords API Team.

On Monday, March 17, 2014 9:36:44 PM UTC+4, Dan wrote:

 I am trying to find the way how I can schedule a bid plan for each keyword 
 for entire day using Adwords API.
 For example: 

 0. black tea, 1.25£, 00:00:00-01:00:00
 1. black tea, 1.50£, 01:00:00-02:00:00
 3. .
 18. black tea, 3.0£ 19:00:00-20:00:00
  

 Could you please point me and give small example which API service and 
 object properties I should use in order to schedule that I've just 
 described. 

 Thanks a lot! 


-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


PHP Client Library: An error has occurred: [QuotaCheckError.INCOMPLETE_SIGNUP @ ; trigger:'null']

2014-03-18 Thread cf2
Hello,

using the PHP Client Library for the Google AdWords API I get the following 
Error: *An error has occurred: [QuotaCheckError.INCOMPLETE_SIGNUP @ ; 
trigger:'null']*

But step by step:
- First I generate a productive MCC Account and get an API developer token 
(Now it's pending) and fill out the billing information and accept the 
terms and conditions.
- Then I generate a MCC Test Account and in the MCC test account an AdWords 
test account. 
- In the Google Adwords API Source Code (in the file auth.ini) I put in the 
developer Token from the productive MCC, the userAgent (name of my 
company), the clientCustomerId from my test AdWords account and my 
client_id and client_secret which I generated via the Google Developer 
Console.
- Then I run the GetRefreshToken.php on the Terminal and get an URL. I 
copied these URL in the browser and get the code, which I put in the 
Terminal to get the refresh_token for the auth.ini
- At least I run the GetCampaigns.php in the Terminal and get the Error 
Message: *An error has occurred: [QuotaCheckError.INCOMPLETE_SIGNUP @ ; 
trigger:'null']*

Some Ideas? What can I do?

Every solution I found is like fill out the billing information und accect 
terms and conditions. But in my opinion i did these!!


Thank you! Greetings from germany!

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Error while Downloading Account Performance Report

2014-03-18 Thread Salem Hassan

I'm using  OAuth 2.0 Authentication for Adwords API.

I'm running the  'awapi_dotnet_lib_v16.7.0' sample solution (.NET Library) 
 from google and in the 'AdWords.Examples.CSharp' I have the following tags 
set in my app.config file:

add key=UserAgent value=xxx/
add key=DeveloperToken value=xxx/
add key=ClientCustomerId value=xxx-xxx-/
add key=AuthorizationMethod value=OAuth2 /
add key=OAuth2ClientId 
value=xxx /
add key=OAuth2ClientSecret value=x /
add key=OAuth2Mode value=APPLICATION /
add key=OAuth2RefreshToken 
value=xx /

I'm able to run the 'GetAccountHierarchy' functionality through command 
line (v201402.GetAccountHierarchy) to fetch all the accounts under my MCC 
(client centre).
But, when I tries to run the DownloadCriteriaReport 
 (v201402.DownloadCriteriaReport) to fetch Account Performance Report it 
gives me error..

*Message*: Report download errors occurred, see errors field for more 
details.

*Source*: Google.AdWords

*Stack Trace*:   

 at 
Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.DownloadReportToStream(String
 
downloadUrl, Boolean returnMoneyInMicros, String postBody, Stream 
outputStream) in c:\src\MyProjects\now\Common library 
base\adwords\compile\Util\Reports\ReportUtilities.cs:line 304
   at 
Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.DownloadClientReportInternal(String
 
downloadUrl, String postBody, Boolean returnMoneyInMicros, String path) in 
c:\src\MyProjects\now\Common library 
base\adwords\compile\Util\Reports\ReportUtilities.cs:line 253
   at 
Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.DownloadClientReport[T](T 
reportDefinition, Boolean returnMoneyInMicros, String path) in 
c:\src\MyProjects\now\Common library 
base\adwords\compile\Util\Reports\ReportUtilities.cs:line 215
   at 
Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.DownloadClientReport[T](T 
reportDefinition, String path) in c:\src\MyProjects\now\Common library 
base\adwords\compile\Util\Reports\ReportUtilities.cs:line 195
   at 
Google.Api.Ads.AdWords.Examples.CSharp.v201402.DownloadCriteriaReport.Run(AdWordsUser
 
user, String fileName) in 
C:\Users\BGS002\Downloads\awapi_dotnet_lib_v16.7.0\examples\csharp\v201402\Reporting\DownloadCriteriaReport.cs:line
 
112

Here is the image : 

https://lh5.googleusercontent.com/-Q510gf82WMY/UycB7OqdhFI/ABA/lOf-crSIpMU/s1600/error.JPG













Here is the code:

 public void Run(AdWordsUser user, string fileName) {
  ReportDefinition definition = new ReportDefinition();
  definition.reportName = Custom ACCOUNT_PERFORMANCE_REPORT;
  definition.reportType = 
ReportDefinitionReportType.ACCOUNT_PERFORMANCE_REPORT;
  definition.downloadFormat = DownloadFormat.CSV;
  definition.dateRangeType = ReportDefinitionDateRangeType.TODAY;

  // Create selector.
  Selector selector = new Selector();
  selector.fields = new string[] {AdGroupId, AdGroupName, Clicks, 
Impressions};

  Predicate predicate = new Predicate();
  predicate.field = Status;
  predicate.@operator = PredicateOperator.IN;
  predicate.values = new string[] {ACTIVE, PAUSED};
  selector.predicates = new Predicate[] {predicate};
 
  definition.selector = selector;
  definition.includeZeroImpressions = true;
  string filePath = ExampleUtilities.GetHomeDir() + 
Path.DirectorySeparatorChar + fileName;
  try {
ReportUtilities utilities = new ReportUtilities(user);
utilities.ReportVersion = v201402;

utilities.DownloadClientReport(definition, filePath);
Console.WriteLine(Report was downloaded to '{0}'., filePath);
  } catch (Exception ex) {
throw new System.ApplicationException(Failed to download report., 
ex);
  }
}


I have also tried this on the web example with this code:

protected void OnDownloadReportButtonClick(object sender, EventArgs e) {
  ConfigureUserForOAuth();
  ReportDefinition definition = new ReportDefinition();
  string fileName = GoogleAdwords.csv;
  definition.reportName = Custom ACCOUNT_PERFORMANCE_REPORT;
  definition.reportType = 
ReportDefinitionReportType.ACCOUNT_PERFORMANCE_REPORT;
  definition.downloadFormat = DownloadFormat.CSV;
  definition.dateRangeType = ReportDefinitionDateRangeType.TODAY;
  // Create selector.
  Selector selector = new Selector();
  selector.fields = new string[] {AccountId};
  definition.selector = selector;
  string filePath = D:\\Adwords + Path.DirectorySeparatorChar + 
fileName;
  (user.Config as AdWordsAppConfig).OAuth2RefreshToken = 
xx;
  try {
// If you know that your report is small enough to fit in memory, 
then
// you can instead use
  ReportUtilities utilities = new ReportUtilities(user);
  

challenge while integrating Adwords APIs

2014-03-18 Thread Toby Gran
We've came across a challenge while integrating Adwords APIs 

While creating some code that is attempting to send conversion to Adwords 
in offline mode we've encountered the following exception:

AdsOAuthException
Failed to get access token for service account.
{
  error : access_denied,
  error_description : Requested scopes not allowed: 
https://adwords.google.com/api/adwords/;
}

Can you please help us to sort things out. Our code is running on our 
server without interactive mode, so we can't use authentication methods 
that requires user actions.

Below our developer posted his code:

String conversionName = signUp ? PR_SignUP_IMP : 
PR_SignIN_IMP;

// Conversion time should be higher than the click time.
String conversionTime = conversion time;
Double conversionValue = 50;

const int VIEWTHROUGH_LOOKBACK_WINDOW = 30;
const int CTC_LOOKBACK_WINDOW = 90;

Google.Api.Ads.AdWords.Lib.AdWordsUser user = new 
Google.Api.Ads.AdWords.Lib.AdWordsUser();
// Override specific configuration at runtime.
AdWordsAppConfig config = user.Config as AdWordsAppConfig;

config.ClientCustomerId = 790-315-2016;
config.DeveloperToken = 51zg7U9kpVxvKkptsujZwg;
config.UserAgent = Proxy Rental User Managment;

config.AuthorizationMethod = AdWordsAuthorizationMethod.OAuth2;
config.OAuth2Mode = Google.Api.Ads.Common.Lib.OAuth2Flow.SERVICE_ACCOUNT;
config.OAuth2ServiceAccountEmail = 
107526653430-hu04rmqd3s16h2cklfaf2cpvjqlj1...@developer.gserviceaccount.com
;
config.OAuth2PrnEmail = mail2proxyren...@gmail.com;
config.OAuth2CertificatePath = 
@c:\Production\ProxyRental\Node\8f3d2a5ae9a0bba176b18d2a207e38478500f9cb-privatekey.p12;
config.OAuth2CertificatePassword = notasecret;

ConversionTrackerService conversionTrackerService = 
(ConversionTrackerService)user.GetService(AdWordsService.v201309.ConversionTrackerService);

// Create an upload conversion. Once created, this entry will be visible
// under Tools and Analysis-Conversion and will have Source = Import.
UploadConversion uploadConversion = new UploadConversion();
uploadConversion.category = signUp ? ConversionTrackerCategory.SIGNUP : 
ConversionTrackerCategory.LEAD;
uploadConversion.name = conversionName;
uploadConversion.viewthroughLookbackWindow = VIEWTHROUGH_LOOKBACK_WINDOW;
uploadConversion.ctcLookbackWindow = CTC_LOOKBACK_WINDOW;

ConversionTrackerOperation uploadConversionOperation = new 
ConversionTrackerOperation();
uploadConversionOperation.@operator = Operator.ADD;
uploadConversionOperation.operand = uploadConversion;

ConversionTrackerReturnValue conversionTrackerRetval = 
conversionTrackerService.mutate(
new ConversionTrackerOperation[] { uploadConversionOperation });

UploadConversion newUploadConversion = 
(UploadConversion)conversionTrackerRetval.value[0];

Console.WriteLine(New upload conversion type with name = '{0}' and id = 
{1} was created.,
newUploadConversion.name, newUploadConversion.id);


Thank you for your help

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


'PercentNewVisitors' is not valid for report type KEYWORDS_PERFORMANCE_REPORT

2014-03-18 Thread Thibault Quillard
Hi everyone, 
I am trying to retrieve the PercentNewVisitors from 
the KEYWORDS_PERFORMANCE_REPORT available in the Adword API.

However, I always get this mistake : Column 'PercentNewVisitors' is not 
valid for report type KEYWORDS_PERFORMANCE_REPORT. Double-check your SELECT 
clause.

Would you know the cause of this ? 

Basically my query is : 

select 
CampaignName,
CampaignStatus,
PercentNewVisitors

from
KEYWORDS_PERFORMANCE_REPORT

where
where CampaignStatus = ACTIVE and AdGroupStatus = ENABLED and Status = 
ACTIVE'

during
LAST_WEEK


Thanks you !!

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


OfflineConversionFeed Service returns INVALID_STRING_DATE_TIME

2014-03-18 Thread Christian
Hi, 
I'm using the OfflineConversionFeed Serivce. It worked fine during the last 
month. But no I get the following error INVALID_STRING_DATE_TIME. And I 
have no idea how to solve this. I provide the date in the following way: 
20140316 235959. 
Regards Christian

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Informazioni sul costo clic adwords

2014-03-18 Thread Augusto Brandone
Buongiorno, ho bisogno di sapere urgentemente come funzionano i clic su 
adwords. Ad esempio se io faccio una campagna di un budget di 10 euro al 
giorno quanto costa un clic? E quanti clic ho a disposizione al giorno? 
Quanto costa una keyword? C'è differenza tra varie keywords a livello di 
prezzi?
Grazie

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


All previous placements are deleted when adding a targeted placement

2014-03-18 Thread Rasmus Larsson
The problem I'm having is that when I create a targeted placement all other 
placements in the UI are marked as deleted, however when I send the same 
request again but this time remove the targeted placement and create an 
exclusion instead the other placements are back as they were before.

I've pasted the code below, I have another function called 
createPlacement which does almost the exact same thing but creates a 
biddable criterion instead of a negative criterion.

Any ideas what might be wrong?

$removePlacement = function(AdWordsUser $user, $adGroupId, $url) {
// Get the AdGroupCriterionService, which loads the required classes.
$adGroupCriterionService = $user-GetService('AdGroupCriterionService', 
ADWORDS_VERSION);

// Fetch ID to remove
$selector = new Selector();
$selector-fields = array('KeywordText', 'KeywordMatchType', 'Id');
$selector-predicates[] = new Predicate('AdGroupId', 'IN', 
array($adGroupId));
$selector-predicates[] = new Predicate('PlacementUrl', 'IN', array($url));
$selector-paging = new Paging(0, AdWordsConstants::RECOMMENDED_PAGE_SIZE);

$operations = array();

do {
// Make the get request.
$page = $adGroupCriterionService-get($selector);

// Remove results.
if (isset($page-entries)) {
foreach ($page-entries as $adGroupCriterion) {
$adGroupOperation = new AdGroupCriterionOperation();
$adGroupOperation-operand = $adGroupCriterion;
$adGroupOperation-operator = REMOVE;

$operations[] = $adGroupOperation;
}
}

// Advance the paging index.
$selector-paging-startIndex += AdWordsConstants::RECOMMENDED_PAGE_SIZE;
} while ($page-totalNumEntries  $selector-paging-startIndex);

// Create exclusion for URL in case it's an automatic placement
$adGroupNegativeCriterion = new NegativeAdGroupCriterion();
$adGroupNegativeCriterion-adGroupId = $adGroupId;
$adGroupNegativeCriterion-criterion = new Placement($url);

$adGroupNegativeOperation = new AdGroupCriterionOperation();
$adGroupNegativeOperation-operand = $adGroupNegativeCriterion;
$adGroupNegativeOperation-operator = ADD;
$operations[] = $adGroupNegativeOperation;

$adGroupCriterionService-mutate($operations);
};

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: How to verify the client customer id is valid and billing has been setup!

2014-03-18 Thread brihaspati techno
hello Josh,

As said by you i have sent you the required details. One important thing is 
that i have generated the refresh_token of the invited user and now how 
should i make the request on the behalf of the invited user ??
 I mean to say that i have changed the refresh token in the autn.ini file 
but still receiving‎ the above mentioned error messages. And can you please 
tell me about how to set the OAUTH values in the function instead 
specifying them in the auth.ini file ?

Regards,
Brihaspati Dev

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: 'PercentNewVisitors' is not valid for report type KEYWORDS_PERFORMANCE_REPORT

2014-03-18 Thread Danial Klimkin
Hello Thibault,


This field is not available for the KEYWORDS_PERFORMANCE_REPORT. We'll get 
the documentation updated.


-Danial, AdWords API Team.


On Monday, March 17, 2014 6:46:44 PM UTC+4, Thibault Quillard wrote:

 Hi everyone, 
 I am trying to retrieve the PercentNewVisitors from 
 the KEYWORDS_PERFORMANCE_REPORT available in the Adword API.

 However, I always get this mistake : Column 'PercentNewVisitors' is not 
 valid for report type KEYWORDS_PERFORMANCE_REPORT. Double-check your SELECT 
 clause.

 Would you know the cause of this ? 

 Basically my query is : 

 select 
 CampaignName,
 CampaignStatus,
 PercentNewVisitors

 from
 KEYWORDS_PERFORMANCE_REPORT

 where
 where CampaignStatus = ACTIVE and AdGroupStatus = ENABLED and Status = 
 ACTIVE'

 during
 LAST_WEEK


 Thanks you !!


-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Day bid plan for each hour

2014-03-18 Thread Dan
Thanks for your reply! I have my own algorithm which computes my bids and I 
really don't want to mess up and calculate percentage to set it to 
modifier. 
Is there are any way I can set exact bid for time range directly without 
adjusting by percentage?  

On Tuesday, 18 March 2014 10:49:05 UTC, Danial Klimkin wrote:

 Hello Dan,


 You need to use the AdSchedule Criterion:

   
 https://developers.google.com/adwords/api/docs/reference/latest/CampaignCriterionService.AdSchedule

 And use it with a campaign criterion:

   
 https://developers.google.com/adwords/api/docs/reference/latest/CampaignCriterionService.CampaignCriterion

 Defining relevant 'bidModifier' for each time range. Please see 
 AddCampaignCriteria example available for all of our libraries:

   https://developers.google.com/adwords/api/docs/clientlibraries


 -Danial, AdWords API Team.

 On Monday, March 17, 2014 9:36:44 PM UTC+4, Dan wrote:

 I am trying to find the way how I can schedule a bid plan for each 
 keyword for entire day using Adwords API.
 For example: 

 0. black tea, 1.25£, 00:00:00-01:00:00
 1. black tea, 1.50£, 01:00:00-02:00:00
 3. .
 18. black tea, 3.0£ 19:00:00-20:00:00
  

 Could you please point me and give small example which API service and 
 object properties I should use in order to schedule that I've just 
 described. 

 Thanks a lot! 



-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Why do I get AuthenticationError.USER_ID_INVALID programmatically but not via OAuth2.0 Playground?

2014-03-18 Thread Danial Klimkin
Hello axtens,


Please make sure your code sends correct values for the following HTTP 
headers:

  clientCustomerId, Authorization

Normally this error means the access token used for authorization does not 
belong to the AdWords account you are trying to access (or higher-level 
MCC).


-Danial, AdWords API Team.


On Tuesday, March 18, 2014 1:10:57 PM UTC+4, axtens wrote:

 Context: Windows 7, IE10, JScript, Peloton, Msxml2.ServerXMLHTTP.6.0

 When I execute the following in OAuth2.0 Playground it works perfectly 

 POST /api/adwords/reportdownload/v201402 HTTP/1.1
 Host: adwords.google.com
 Clientcustomerid: blah-blah
 Developertoken: blah_blah
 Content-type: application/x-www-form-urlencoded
 Content-length: 545
 Authorization: Bearer ya29.1.blahblahblah
 __rdxml=reportDefinition 
 xmlns=https://adwords.google.com/api/adwords/cm/v201402;selectorfieldsCampaignId/fieldsfieldsId/fieldsfieldsImpressions/fieldsfieldsClicks/fieldsfieldsCost/fieldspredicatesfieldStatus/fieldoperatorIN/operatorvaluesENABLED/valuesvaluesPAUSED/values/predicates/selectorreportNameCustom
  
 https://www.en.adwords-community.com/t5/forums/editpage/board-id/Measure-AdWords/message-id/11644/is-draft/
  Adgroup Performance 
 Report/reportNamereportTypeADGROUP_PERFORMANCE_REPORT/reportTypedateRangeTypeLAST_7_DAYS/dateRangeTypedownloadFormatTSV/downloadFormat/reportDefinition

  

 However, when I submit the same values programmatically, I get 
 `AuthenticationError.USER_ID_INVALID`

 @ LETVARo1lCAPAdHocReport1|
 reportDefinition xmlns=https://adwords.google.com/api/adwords/cm/v201402; 
 https://www.en.adwords-community.com/t5/forums/editpage/board-id/Measure-AdWords/message-id/11644/is-draft/
 selector
 fieldsCampaignId/fields
 fieldsId/fields
 fieldsImpressions/fields
 fieldsClicks/fields
 fieldsCost/fields
 predicates
 fieldStatus/field
 operatorIN/operator
 valuesENABLED/values
 valuesPAUSED/values
 /predicates
 /selector
 reportNameCustom Adgroup Performance Report/reportName
 reportTypeADGROUP_PERFORMANCE_REPORT/reportType
 dateRangeTypeLAST_7_DAYS/dateRangeType
 downloadFormatTSV/downloadFormat
 /reportDefinition/@

 

 @ DEFUDOLITLIT:Hp|__Transformer|
 @ DEFKEYLIT__WSHLanguage|JScript/@
 @ LETSCPPARurl|1/@
 @ LETSCPPARhead|2/@
 @ LETSCPPARbody|3/@
 @ sayLETSCPCAPcode|
   var SXH_OPTION_ESCAPE_PERCENT_IN_URL = 1;
   var SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS = 2;
   var SXH_OPTION_SELECT_CLIENT_SSL_CERT = 3;
   var SXH_OPTION_URL = -1;
   var SXH_OPTION_URL_CODEPAGE = 0;

   var SXH_SERVER_CERT_IGNORE_UNKNOWN_CA = 256;
   var SXH_SERVER_CERT_IGNORE_WRONG_USAGE = 512;
   var SXH_SERVER_CERT_IGNORE_CERT_CN_INVALID = 4096;
   var SXH_SERVER_CERT_IGNORE_CERT_DATE_INVALID = 8192;
   var SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS = 13056;

   function HTTPPOST4(url, rHeaders, body) {
 var oHTTP = new ActiveXObject(Msxml2.ServerXMLHTTP.6.0);
 oHTTP.setOption(SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS, 
 oHTTP.getOption(SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS) - 
 SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS);
 oHTTP.setTimeouts(100, 100, 100, 100);
 oHTTP.open(POST, url, false);

 for (var r in rHeaders) {
   oHTTP.setRequestHeader(r, rHeaders[r]);
 }
 
 oHTTP.send(body);
 var res = oHTTP.responseText;
 return res;
   }
   var head = @ sayscphead/@;
   var body = '@ SAYSCPbody/@';
   HTTPPOST4('@ SAYSCPurl/@', head, body);
 /@
 @ LETRESCLCSCP...|code/@
 @ DEFKEYLIT__WSHLanguage|VBScript/@
 /@

  
 The language wrapped around the JScript is called Peloton, and is used 
 in-house. The header values are passed in as a JSON object and the body as 
 a string.

 The result XML I get from this says

 ?xml version=1.0 encoding=UTF-8 standalone=yes? 
 reportDownloadErrorApiErrortypeAuthenticationError.USER_ID_INVALID/typetriggerlt;nullgt;/triggerfieldPath/fieldPath/ApiError/reportDownloadError

 If the 'trigger' is to be believed, where is the 'lt;nullgt;'?


-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: challenge while integrating Adwords APIs

2014-03-18 Thread Danial Klimkin
Hello Toby,


Service accounts can only be used with a Google Apps domain. For all other 
cases please use Installed application or Web Application flows. Please 
see this guide for more details:

  
https://developers.google.com/adwords/api/docs/guides/clientlogin-to-oauth2-individual-accounts

Note, while user action is required for each of these flows (granting 
permission for your app to access user's account), it's a one time 
operation. Once granted, you can access the account indefinitely with no 
further user action required.


-Danial, AdWords API Team.

On Tuesday, March 18, 2014 3:20:23 AM UTC+4, Toby Gran wrote:

 We've came across a challenge while integrating Adwords APIs 

 While creating some code that is attempting to send conversion to Adwords 
 in offline mode we've encountered the following exception:

 AdsOAuthException
 Failed to get access token for service account.
 {
   error : access_denied,
   error_description : Requested scopes not allowed: 
 https://adwords.google.com/api/adwords/;
 }

 Can you please help us to sort things out. Our code is running on our 
 server without interactive mode, so we can't use authentication methods 
 that requires user actions.

 Below our developer posted his code:

 String conversionName = signUp ? PR_SignUP_IMP : 
 PR_SignIN_IMP;

 // Conversion time should be higher than the click time.
 String conversionTime = conversion time;
 Double conversionValue = 50;

 const int VIEWTHROUGH_LOOKBACK_WINDOW = 30;
 const int CTC_LOOKBACK_WINDOW = 90;

 Google.Api.Ads.AdWords.Lib.AdWordsUser user = new 
 Google.Api.Ads.AdWords.Lib.AdWordsUser();
 // Override specific configuration at runtime.
 AdWordsAppConfig config = user.Config as AdWordsAppConfig;

 config.ClientCustomerId = 790-315-2016;
 config.DeveloperToken = 51zg7U9kpVxvKkptsujZwg;
 config.UserAgent = Proxy Rental User Managment;

 config.AuthorizationMethod = AdWordsAuthorizationMethod.OAuth2;
 config.OAuth2Mode = Google.Api.Ads.Common.Lib.OAuth2Flow.SERVICE_ACCOUNT;
 config.OAuth2ServiceAccountEmail = 
 107526653430-hu04rmqd3s16h2cklfaf2cpvjqlj1...@developer.gserviceaccount.comjavascript:
 ;
 config.OAuth2PrnEmail = mail2pro...@gmail.com javascript:;
 config.OAuth2CertificatePath = 
 @c:\Production\ProxyRental\Node\8f3d2a5ae9a0bba176b18d2a207e38478500f9cb-privatekey.p12;
 config.OAuth2CertificatePassword = notasecret;

 ConversionTrackerService conversionTrackerService = 
 (ConversionTrackerService)user.GetService(AdWordsService.v201309.ConversionTrackerService);

 // Create an upload conversion. Once created, this entry will be visible
 // under Tools and Analysis-Conversion and will have Source = Import.
 UploadConversion uploadConversion = new UploadConversion();
 uploadConversion.category = signUp ? ConversionTrackerCategory.SIGNUP : 
 ConversionTrackerCategory.LEAD;
 uploadConversion.name = conversionName;
 uploadConversion.viewthroughLookbackWindow = VIEWTHROUGH_LOOKBACK_WINDOW;
 uploadConversion.ctcLookbackWindow = CTC_LOOKBACK_WINDOW;

 ConversionTrackerOperation uploadConversionOperation = new 
 ConversionTrackerOperation();
 uploadConversionOperation.@operator = Operator.ADD;
 uploadConversionOperation.operand = uploadConversion;

 ConversionTrackerReturnValue conversionTrackerRetval = 
 conversionTrackerService.mutate(
 new ConversionTrackerOperation[] { uploadConversionOperation });

 UploadConversion newUploadConversion = 
 (UploadConversion)conversionTrackerRetval.value[0];

 Console.WriteLine(New upload conversion type with name = '{0}' and id = 
 {1} was created.,
 newUploadConversion.name, newUploadConversion.id);


 Thank you for your help



-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Day bid plan for each hour

2014-03-18 Thread Danial Klimkin
Hello Dan,


No, AdSchedule target can only affect bidModifier, not the absolute bid.


-Danial, AdWords API Team.


On Tuesday, March 18, 2014 3:12:02 PM UTC+4, Dan wrote:

 Thanks for your reply! I have my own algorithm which computes my bids and 
 I really don't want to mess up and calculate percentage to set it to 
 modifier. 
 Is there are any way I can set exact bid for time range directly without 
 adjusting by percentage?  

 On Tuesday, 18 March 2014 10:49:05 UTC, Danial Klimkin wrote:

 Hello Dan,


 You need to use the AdSchedule Criterion:

   
 https://developers.google.com/adwords/api/docs/reference/latest/CampaignCriterionService.AdSchedule

 And use it with a campaign criterion:

   
 https://developers.google.com/adwords/api/docs/reference/latest/CampaignCriterionService.CampaignCriterion

 Defining relevant 'bidModifier' for each time range. Please see 
 AddCampaignCriteria example available for all of our libraries:

   https://developers.google.com/adwords/api/docs/clientlibraries


 -Danial, AdWords API Team.

 On Monday, March 17, 2014 9:36:44 PM UTC+4, Dan wrote:

 I am trying to find the way how I can schedule a bid plan for each 
 keyword for entire day using Adwords API.
 For example: 

 0. black tea, 1.25£, 00:00:00-01:00:00
 1. black tea, 1.50£, 01:00:00-02:00:00
 3. .
 18. black tea, 3.0£ 19:00:00-20:00:00
  

 Could you please point me and give small example which API service and 
 object properties I should use in order to schedule that I've just 
 described. 

 Thanks a lot! 



-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: OfflineConversionFeed Service returns INVALID_STRING_DATE_TIME

2014-03-18 Thread Danial Klimkin
Hello Christian,


Which API version do you use? For v201309, a timezone needs to be 
specified. Also, make sure the timestamp is not in the future (accounting 
for timezone).


-Danial, AdWords API Team.


On Tuesday, March 18, 2014 5:37:30 AM UTC+4, Christian wrote:

 Hi, 
 I'm using the OfflineConversionFeed Serivce. It worked fine during the 
 last month. But no I get the following error INVALID_STRING_DATE_TIME. And 
 I have no idea how to solve this. I provide the date in the following way: 
 20140316 235959. 
 Regards Christian


-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: PHP API Custom date range for AD_PERFORMANCE_REPORT

2014-03-18 Thread Danial Klimkin
Hello Jake,


The date range is part of the selector, not definition, so:

  $selector-dateRange = new DateRange('20140101', '20140110');
 $reportDefinition-dateRangeType = 'CUSTOM_DATE';


- Danial, AdWords API Team.


On Tuesday, March 18, 2014 3:02:20 AM UTC+4, Jake Wilson wrote:

 Trying to get an ad performance report for a custom range:

 $reportDefinition = new ReportDefinition();
 $reportDefinition-selector = $selector;
 $reportDefinition-reportName = 'Ad performance report #' . uniqid();
 $reportDefinition-dateRange = new DateRange('20140101', '20140110');
 $reportDefinition-dateRangeType = 'CUSTOM_DATE';
 $reportDefinition-reportType = 'AD_PERFORMANCE_REPORT';
 $reportDefinition-downloadFormat = 'XML';
 $reportDefinition-includeZeroImpressions = FALSE;

 // Report Options
 $options = array('version' = ADWORDS_VERSION, 'returnMoneyInMicros' = 
 FALSE);

 // Download Report
 $response = ReportUtils::DownloadReport($reportDefinition, null, $user, 
 $options);


 I get the following error:

 Report download failed. Underlying errors are Type = 
 'ReportDownloadError.INVALID_REPORT_DEFINITION_XML', Trigger = 'Invalid 
 ReportDefinition Xml: cvc-complex-type.2.4.d: Invalid content was found 
 starting with element 'dateRange'. No child element is expected at this 
 point.', FieldPath = ''.

 If I get rid of the dateRange and just do

 $reportDefinition-dateRangeType = 'LAST_7_DAYS';

 Then it works fine.  What am I missing here?


-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: AdGroupAdService (v201309): type TextAd and mobile property

2014-03-18 Thread Sorokin Andrew
Thank you very much, you saved my head

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Getting KeyWords DUPLICATES

2014-03-18 Thread Dan

This is my code which I am using to pull KeyWords:

public ListKeyword getAdGroupKeyWords(Long adGroupId) throws 
ApiException, RemoteException{
 int PAGE_SIZE = 100;
int offset = 0;
boolean morePages = true;

SelectorBuilder builder = new SelectorBuilder();
Selector selector = builder
.fields(Id, AdGroupId, MatchType, KeywordText)
.orderAscBy(AdGroupId)
.offset(offset)
.limit(PAGE_SIZE)
.in(AdGroupId, adGroupId.toString())
.equals(CriteriaType, KEYWORD)
.build();

ListKeyword adGroupPages = new ArrayListKeyword();

while (morePages) {
AdGroupCriterionPage page = adGroupCriterionService.get(selector);
if (page.getEntries() != null  page.getEntries().length  0) {
 for(AdGroupCriterion adGroupCriterion : page.getEntries()){
 adGroupPages.add(((Keyword)adGroupCriterion.getCriterion()));
 }
offset += PAGE_SIZE;
selector = builder.increaseOffsetBy(PAGE_SIZE).build();
morePages = offset  page.getTotalNumEntries();
}
}

return adGroupPages;
 }

I've created 1 key word but it always return 3 absolutely same objects. 
First I thought that it 3 different match types, but no all of them 
identical. Why? 

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [9-8448000002971] How to verify the client customer id is valid and billing has been setup!

2014-03-18 Thread brihaspati techno
hi Josh,

Thanks a lot for looking into this matter. the code snippet you have
provided is in JAVA language but i am making use of PHP. Actually the SOAP
logs are not recorded for the failed requests since the error occurred so
the processing stops there only. The problem i am facing is that i have
been able to generate the refresh_token for the invited user, and how to
use this refresh_token in order to make the request on the users behalf ??
Like if i make a request for the ADD PENDING service then i have to provide
the Client_id, client_secret, developer_token and user agent and
refresh_token all there are from the manager's side(MCC account
credentials) and the request is a success. Now after this i redirect the
user to google login page and after successful login a code is returned
back and using that code i have generated the refresh token. Now where to
put this token into the script so that the SET ACTIVE request is completed
successfully on users behalf ?

Regards,
Brihaspati


On Tue, Mar 18, 2014 at 7:05 PM, adwords-api@googlegroups.com wrote:

 Hi Brihaspati,

 Could you send me the request and soap logs for the *failed* requests?

 Another note is that you don't need multiple projects
 (client_id/client_secret pairs) if you only have one application.  You can
 (and should) use the same client_id and client_secret for all of your
 application's requests, regardless of which user's account you are
 accessing.

 Regarding your question on setting the OAuth information programmatically,
 below is an example.

 AdWordsUser user = new AdWordsUser();
 user.Config.OAuth2Mode = OAuth2Flow.APPLICATION;
 OAuth2ProviderForApplications oAuth =
 (user.OAuthProvider as OAuth2ProviderForApplications);
 oAuth.RefreshToken = xxx;
 oAuth.AccessToken = xxx;
 oAuth.UpdatedOn = xxx;
 oAuth.ExpiresIn = xxx;

 Note that only oAuth.RefreshToken is mandatory. If you leave oAuth.
 AccessToken as empty, or if oAuth.UpdatedOn + oAuth.ExpiresIn is in the
 past, the access token will be refreshed by the library.

 Thanks,
 Josh, AdWords API Team

 =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
 Also find us on our blog and discussion group:
 http://googleadsdeveloper.blogspot.com/search/label/adwords_api
 https://developers.google.com/adwords/api/community/
 =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

 On 03/18/14 06:59:24 brstd...@gmail.com wrote:

 hello Josh,

 As said by you i have sent you the required details. One important thing
 is that i have generated the refresh_token of the invited user and now how
 should i make the request on the behalf of the invited user ??
  I mean to say that i have changed the refresh token in the autn.ini file
 but still receiving the above mentioned error messages. And can you
 please tell me about how to set the OAUTH values in the function instead
 specifying them in the auth.ini file ?

 Regards,
 Brihaspati Dev

 --
 --
 =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
 Also find us on our blog and Google+:
 https://googleadsdeveloper.blogspot.com/
 https://plus.google.com/+GoogleAdsDevelopers/posts
 =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

 You received this message because you are subscribed to the Google
 Groups AdWords API Forum group.
 To post to this group, send email to adwords-api@googlegroups.com
 To unsubscribe from this group, send email to
 adwords-api+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/adwords-api?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 AdWords API Forum group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to adwords-api+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.



-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: PHP API Custom date range for AD_PERFORMANCE_REPORT

2014-03-18 Thread Jake Wilson
Doh!  Thanks!

On Tuesday, March 18, 2014 5:28:31 AM UTC-6, Danial Klimkin wrote:

 Hello Jake,


 The date range is part of the selector, not definition, so:

   $selector-dateRange = new DateRange('20140101', '20140110');
  $reportDefinition-dateRangeType = 'CUSTOM_DATE';


 - Danial, AdWords API Team.


 On Tuesday, March 18, 2014 3:02:20 AM UTC+4, Jake Wilson wrote:

 Trying to get an ad performance report for a custom range:

 $reportDefinition = new ReportDefinition();
 $reportDefinition-selector = $selector;
 $reportDefinition-reportName = 'Ad performance report #' . uniqid();
 $reportDefinition-dateRange = new DateRange('20140101', '20140110');
 $reportDefinition-dateRangeType = 'CUSTOM_DATE';
 $reportDefinition-reportType = 'AD_PERFORMANCE_REPORT';
 $reportDefinition-downloadFormat = 'XML';
 $reportDefinition-includeZeroImpressions = FALSE;

 // Report Options
 $options = array('version' = ADWORDS_VERSION, 'returnMoneyInMicros' = 
 FALSE);

 // Download Report
 $response = ReportUtils::DownloadReport($reportDefinition, null, $user, 
 $options);


 I get the following error:

 Report download failed. Underlying errors are Type = 
 'ReportDownloadError.INVALID_REPORT_DEFINITION_XML', Trigger = 'Invalid 
 ReportDefinition Xml: cvc-complex-type.2.4.d: Invalid content was found 
 starting with element 'dateRange'. No child element is expected at this 
 point.', FieldPath = ''.

 If I get rid of the dateRange and just do

 $reportDefinition-dateRangeType = 'LAST_7_DAYS';

 Then it works fine.  What am I missing here?



-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Are reports totally empty with a Mcc test account?

2014-03-18 Thread María FZ
Hello Danial, 

Thank you for the answer! I have included the zero impressions, but the 
reports are still in blank.. I have tried everything I have read about 
empty reports, but not the correct one, probably.

Now I am waiting on GitHub for a response.

Thank you again!


El lunes, 17 de marzo de 2014 13:30:42 UTC+1, Danial Klimkin escribió:

 Hello Maria,


 Test accounts have not stats data (no clicks, impressions etc), so most 
 reports would be empty. You can alter the report definitions to include 
 zero impression rows.

 Please feel free to also log it as a feature request on GitHub.


 -Danial, AdWords API Team.


 On Friday, March 14, 2014 9:53:51 PM UTC+4, María FZ wrote:


 Hello, 

 I'm trying to run this Mcc reporting demo application (
 https://github.com/googleads/aw-reporting).

 It works, It generates 3 reports for my 3 clients, but the reports (all 
 from the sample project) are empty. I know that in a Mcc test account there 
 is no data to display, but my doubt is the following: Not even the report 
 shows me the Account Name or Account Id? Nothing?
 Don't know if this is normal or I need to change something.


 Thank you!



-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: SharedSets API Issue

2014-03-18 Thread DavM
It appears that SharedSets have been removed from the API. Are they ever 
going to be re-introduced?

It's so disappointing as they are a great way for managing negative 
keywords.

On Friday, 26 April 2013 18:39:39 UTC+1, David Torres (AdWords API Team) 
wrote:

 Hi Blastian,

 SharedSet services and reports are limited to beta developers.

 Best,

 - David Torres - AdWords API Team

 On Friday, April 19, 2013 4:40:59 PM UTC-4, Blastian wrote:

 I would like to know if the Sharedsets API is working. I tried different 
 ways by using 

 ReportDefinitionReportType reportType = 
 (ReportDefinitionReportType)Enum.Parse(typeof(ReportDefinitionReportType), 
 CAMPAIGN_SHARED_SET_REPORT);




 SharedSetService service = 
 (SharedSetService)user.GetService(AdWordsService.v201302.SharedSetService);

 Selector selector = new Selector();
 selector.fields = new String[] { Name,SharedSetId };




 and also the http adhoc report. None of those work, could someone let me 
 know if this beta feature is working? They all gave me the error An API 
 exception has occurred. See ApiException and InnerException fields for more 
 details.




-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


New ValueTrack Parameters for Shopping Campaigns?

2014-03-18 Thread Michael Baetge
Hi,
will there be new valuetrack parameters for products in Shopping Campaigns, 
which we can utilize for click tracking?
We expect the valuetrack parameter *producttarget_id* to not work anymore, 
as we cannot see such ids in Shopping Campaign data structures.
Thanks,
Michael

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


AWQL for ManagedCustomerService?

2014-03-18 Thread Ian Knox
Using v201402 I don't seem to be able to use AWQL as is claimed by the 
changelog: 
http://googleadsdeveloper.blogspot.com/2014/03/announcing-v201402-of-adwords-api.html


Uncaught SoapFault exception: [Client] Function (query) is not a valid 
method for this service in foo.php

Stack trace:
#0 foo.php(29): SoapClient-__call('query', Array)
#1 foo.php.php(29): ManagedCustomerService-query('bar')


Can someone confirm that AWQL is supported for ManagedCustomerService?

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


AWQL for ManagedCustomerService?

2014-03-18 Thread Ian Knox
Using v201402 I can't seem to use AWQL to query ManagedCustomerService as 
the release notes seem to indicate I should be able to: 
http://googleadsdeveloper.blogspot.com/2014/03/announcing-v201402-of-adwords-api.html

PHP Fatal error:  Uncaught SoapFault exception: [Client] Function (query) 
is not a valid method for this service in foo.php:29
Stack trace:
#0 foo.php(29): SoapClient-__call('query', Array)
#1 foo.php(29): ManagedCustomerService-query('bar')

Can someone confirm that this should work or am I misunderstanding 
something here?

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Error while Downloading Account Performance Report

2014-03-18 Thread Ray Tsang (AdWords API Team)
Salem,

Could I trouble you to send me the report request/response log in private?

Thanks,

Ray

On Monday, March 17, 2014 10:17:53 AM UTC-4, Salem Hassan wrote:


 I'm using  OAuth 2.0 Authentication for Adwords API.

 I'm running the  'awapi_dotnet_lib_v16.7.0' sample solution (.NET Library) 
  from google and in the 'AdWords.Examples.CSharp' I have the following tags 
 set in my app.config file:

 add key=UserAgent value=xxx/
 add key=DeveloperToken value=xxx/
 add key=ClientCustomerId value=xxx-xxx-/
 add key=AuthorizationMethod value=OAuth2 /
 add key=OAuth2ClientId 
 value=xxx /
 add key=OAuth2ClientSecret value=x /
 add key=OAuth2Mode value=APPLICATION /
 add key=OAuth2RefreshToken 
 value=xx /

 I'm able to run the 'GetAccountHierarchy' functionality through command 
 line (v201402.GetAccountHierarchy) to fetch all the accounts under my MCC 
 (client centre).
 But, when I tries to run the DownloadCriteriaReport 
  (v201402.DownloadCriteriaReport) to fetch Account Performance Report it 
 gives me error..

 *Message*: Report download errors occurred, see errors field for more 
 details.

 *Source*: Google.AdWords

 *Stack Trace*:   

  at 
 Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.DownloadReportToStream(String
  
 downloadUrl, Boolean returnMoneyInMicros, String postBody, Stream 
 outputStream) in c:\src\MyProjects\now\Common library 
 base\adwords\compile\Util\Reports\ReportUtilities.cs:line 304
at 
 Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.DownloadClientReportInternal(String
  
 downloadUrl, String postBody, Boolean returnMoneyInMicros, String path) in 
 c:\src\MyProjects\now\Common library 
 base\adwords\compile\Util\Reports\ReportUtilities.cs:line 253
at 
 Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.DownloadClientReport[T](T 
 reportDefinition, Boolean returnMoneyInMicros, String path) in 
 c:\src\MyProjects\now\Common library 
 base\adwords\compile\Util\Reports\ReportUtilities.cs:line 215
at 
 Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.DownloadClientReport[T](T 
 reportDefinition, String path) in c:\src\MyProjects\now\Common library 
 base\adwords\compile\Util\Reports\ReportUtilities.cs:line 195
at 
 Google.Api.Ads.AdWords.Examples.CSharp.v201402.DownloadCriteriaReport.Run(AdWordsUser
  
 user, String fileName) in 
 C:\Users\BGS002\Downloads\awapi_dotnet_lib_v16.7.0\examples\csharp\v201402\Reporting\DownloadCriteriaReport.cs:line
  
 112

 Here is the image : 


 https://lh5.googleusercontent.com/-Q510gf82WMY/UycB7OqdhFI/ABA/lOf-crSIpMU/s1600/error.JPG













 Here is the code:

  public void Run(AdWordsUser user, string fileName) {
   ReportDefinition definition = new ReportDefinition();
   definition.reportName = Custom ACCOUNT_PERFORMANCE_REPORT;
   definition.reportType = 
 ReportDefinitionReportType.ACCOUNT_PERFORMANCE_REPORT;
   definition.downloadFormat = DownloadFormat.CSV;
   definition.dateRangeType = ReportDefinitionDateRangeType.TODAY;
 
   // Create selector.
   Selector selector = new Selector();
   selector.fields = new string[] {AdGroupId, AdGroupName, 
 Clicks, Impressions};

   Predicate predicate = new Predicate();
   predicate.field = Status;
   predicate.@operator = PredicateOperator.IN;
   predicate.values = new string[] {ACTIVE, PAUSED};
   selector.predicates = new Predicate[] {predicate};
  
   definition.selector = selector;
   definition.includeZeroImpressions = true;
   string filePath = ExampleUtilities.GetHomeDir() + 
 Path.DirectorySeparatorChar + fileName;
   try {
 ReportUtilities utilities = new ReportUtilities(user);
 utilities.ReportVersion = v201402;
 
 utilities.DownloadClientReport(definition, filePath);
 Console.WriteLine(Report was downloaded to '{0}'., filePath);
   } catch (Exception ex) {
 throw new System.ApplicationException(Failed to download 
 report., ex);
   }
 }


 I have also tried this on the web example with this code:

 protected void OnDownloadReportButtonClick(object sender, EventArgs e) {
   ConfigureUserForOAuth();
   ReportDefinition definition = new ReportDefinition();
   string fileName = GoogleAdwords.csv;
   definition.reportName = Custom ACCOUNT_PERFORMANCE_REPORT;
   definition.reportType = 
 ReportDefinitionReportType.ACCOUNT_PERFORMANCE_REPORT;
   definition.downloadFormat = DownloadFormat.CSV;
   definition.dateRangeType = ReportDefinitionDateRangeType.TODAY;
   // Create selector.
   Selector selector = new Selector();
   selector.fields = new string[] {AccountId};
   definition.selector = selector;
   string filePath = D:\\Adwords + Path.DirectorySeparatorChar + 
 fileName;
   (user.Config as 

Re: All previous placements are deleted when adding a targeted placement

2014-03-18 Thread Ray Tsang (AdWords API Team)
Ramus,

Please send me the response/request XML (without any sensitive info) in 
private.

Also, could I trouble you clarify the sequence of the actions?

Thanks!

Ray

On Tuesday, March 18, 2014 6:35:56 AM UTC-4, Rasmus Larsson wrote:

 The problem I'm having is that when I create a targeted placement all 
 other placements in the UI are marked as deleted, however when I send the 
 same request again but this time remove the targeted placement and create 
 an exclusion instead the other placements are back as they were before.

 I've pasted the code below, I have another function called 
 createPlacement which does almost the exact same thing but creates a 
 biddable criterion instead of a negative criterion.

 Any ideas what might be wrong?

 $removePlacement = function(AdWordsUser $user, $adGroupId, $url) {
 // Get the AdGroupCriterionService, which loads the required classes.
 $adGroupCriterionService = $user-GetService('AdGroupCriterionService', 
 ADWORDS_VERSION);

 // Fetch ID to remove
 $selector = new Selector();
 $selector-fields = array('KeywordText', 'KeywordMatchType', 'Id');
 $selector-predicates[] = new Predicate('AdGroupId', 'IN', 
 array($adGroupId));
 $selector-predicates[] = new Predicate('PlacementUrl', 'IN', array($url));
 $selector-paging = new Paging(0, AdWordsConstants::RECOMMENDED_PAGE_SIZE);

 $operations = array();

 do {
 // Make the get request.
 $page = $adGroupCriterionService-get($selector);

 // Remove results.
 if (isset($page-entries)) {
 foreach ($page-entries as $adGroupCriterion) {
 $adGroupOperation = new AdGroupCriterionOperation();
 $adGroupOperation-operand = $adGroupCriterion;
 $adGroupOperation-operator = REMOVE;

 $operations[] = $adGroupOperation;
 }
 }

 // Advance the paging index.
 $selector-paging-startIndex += AdWordsConstants::RECOMMENDED_PAGE_SIZE;
 } while ($page-totalNumEntries  $selector-paging-startIndex);

 // Create exclusion for URL in case it's an automatic placement
 $adGroupNegativeCriterion = new NegativeAdGroupCriterion();
 $adGroupNegativeCriterion-adGroupId = $adGroupId;
 $adGroupNegativeCriterion-criterion = new Placement($url);

 $adGroupNegativeOperation = new AdGroupCriterionOperation();
 $adGroupNegativeOperation-operand = $adGroupNegativeCriterion;
 $adGroupNegativeOperation-operator = ADD;
 $operations[] = $adGroupNegativeOperation;

 $adGroupCriterionService-mutate($operations);
 };


-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Informazioni sul costo clic adwords

2014-03-18 Thread Ray Tsang (AdWords API Team)
Augusto,

My apologies - could I trouble you to rephrase the question in English?

Cheers,

Ray

On Tuesday, March 18, 2014 6:38:53 AM UTC-4, Augusto Brandone wrote:

 Buongiorno, ho bisogno di sapere urgentemente come funzionano i clic su 
 adwords. Ad esempio se io faccio una campagna di un budget di 10 euro al 
 giorno quanto costa un clic? E quanti clic ho a disposizione al giorno? 
 Quanto costa una keyword? C'è differenza tra varie keywords a livello di 
 prezzi?
 Grazie


-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: AWQL for ManagedCustomerService?

2014-03-18 Thread Ray Tsang (AdWords API Team)
Ian,

My apologies - the query operation is not on ManagedCustomerService. 
 Please review our API reference 
docshttps://developers.google.com/adwords/api/docs/reference/v201402/ManagedCustomerServicefor
 operations and parameters.

Cheers,

Ray

On Tuesday, March 18, 2014 4:28:45 PM UTC-4, Ian Knox wrote:

 Using v201402 I can't seem to use AWQL to query ManagedCustomerService as 
 the release notes seem to indicate I should be able to: 
 http://googleadsdeveloper.blogspot.com/2014/03/announcing-v201402-of-adwords-api.html

 PHP Fatal error:  Uncaught SoapFault exception: [Client] Function 
 (query) is not a valid method for this service in foo.php:29
 Stack trace:
 #0 foo.php(29): SoapClient-__call('query', Array)
 #1 foo.php(29): ManagedCustomerService-query('bar')

 Can someone confirm that this should work or am I misunderstanding 
 something here?



-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


googleads.errors.AdWordsReportBadRequestError: Type: AuthenticationError.CLIENT_CUSTOMER_ID_INVALID

2014-03-18 Thread Monty808
Whats the deal witythe below error?  This is from the python api.  Is it 
sayihg my clienht_id in nkt valid?  wow!  I am using mcc.

adwords:
  developer_token: sss
  user_agent: test
  client_id: really!!.apps.googleusercontent.com
  client_secret: 
  refresh_token: 


client = 
adwords.AdWordsClient.LoadFromStorage(path='/home/ubuntu/googleads.yaml')
report_downloader = client.GetReportDownloader(version='v201402')
# Create report definition.
report = {
'reportName': 'Last 7 days CRITERIA_PERFORMANCE_REPORT',
'dateRangeType': 'LAST_7_DAYS',
'reportType': 'CRITERIA_PERFORMANCE_REPORT',
'downloadFormat': 'CSV',
'selector': {
'fields': ['CampaignId', 'AdGroupId', 'Id', 'CriteriaType',
   'Criteria', 'Impressions', 'Clicks', 'Cost']
},
# Enable to get rows with zero impressions.
'includeZeroImpressions': 'false'
}
f = open('tewt','w')
report_downloader.DownloadReport(report, f)
f.close()

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: AWQL for ManagedCustomerService?

2014-03-18 Thread Ian Knox
 Ah well, thanks for the confirmation-- I guess I can do it the old 
fashioned way.  
You might want to update that blog post/the release notes.  If the 
operations fields listed in the docs are correct, there are quite a few 
services without AWQL support.

Ian

On Tuesday, March 18, 2014 3:39:57 PM UTC-5, Ray Tsang (AdWords API Team) 
wrote:

 Ian,

 My apologies - the query operation is not on ManagedCustomerService. 
  Please review our API reference 
 docshttps://developers.google.com/adwords/api/docs/reference/v201402/ManagedCustomerServicefor
  operations and parameters.

 Cheers,

 Ray

 On Tuesday, March 18, 2014 4:28:45 PM UTC-4, Ian Knox wrote:

 Using v201402 I can't seem to use AWQL to query ManagedCustomerService as 
 the release notes seem to indicate I should be able to: 
 http://googleadsdeveloper.blogspot.com/2014/03/announcing-v201402-of-adwords-api.html

 PHP Fatal error:  Uncaught SoapFault exception: [Client] Function 
 (query) is not a valid method for this service in foo.php:29
 Stack trace:
 #0 foo.php(29): SoapClient-__call('query', Array)
 #1 foo.php(29): ManagedCustomerService-query('bar')

 Can someone confirm that this should work or am I misunderstanding 
 something here?



-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: PHP Client Library: An error has occurred: [QuotaCheckError.INCOMPLETE_SIGNUP @ ; trigger:'null']

2014-03-18 Thread Ray Tsang (AdWords API Team)
Hiya,

Please let me know your production MCC CID.

Thanks!

Ray

On Tuesday, March 18, 2014 6:05:28 AM UTC-4, c...@clickbits.de wrote:

 Hello,

 using the PHP Client Library for the Google AdWords API I get the 
 following Error: *An error has occurred: 
 [QuotaCheckError.INCOMPLETE_SIGNUP @ ; trigger:'null']*

 But step by step:
 - First I generate a productive MCC Account and get an API developer token 
 (Now it's pending) and fill out the billing information and accept the 
 terms and conditions.
 - Then I generate a MCC Test Account and in the MCC test account an 
 AdWords test account. 
 - In the Google Adwords API Source Code (in the file auth.ini) I put in 
 the developer Token from the productive MCC, the userAgent (name of my 
 company), the clientCustomerId from my test AdWords account and my 
 client_id and client_secret which I generated via the Google Developer 
 Console.
 - Then I run the GetRefreshToken.php on the Terminal and get an URL. I 
 copied these URL in the browser and get the code, which I put in the 
 Terminal to get the refresh_token for the auth.ini
 - At least I run the GetCampaigns.php in the Terminal and get the Error 
 Message: *An error has occurred: [QuotaCheckError.INCOMPLETE_SIGNUP @ ; 
 trigger:'null']*

 Some Ideas? What can I do?

 Every solution I found is like fill out the billing information und 
 accect terms and conditions. But in my opinion i did these!!


 Thank you! Greetings from germany!


-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Getting KeyWords DUPLICATES

2014-03-18 Thread Ray Tsang (AdWords API Team)
Dan,

Could I trouble you to send me the request/response log (minus any 
sensitive information) using the Reply to Author feature?

Cheers,

Ray

On Tuesday, March 18, 2014 10:34:49 AM UTC-4, Dan wrote:


 This is my code which I am using to pull KeyWords:

 public ListKeyword getAdGroupKeyWords(Long adGroupId) throws 
 ApiException, RemoteException{
  int PAGE_SIZE = 100;
 int offset = 0;
 boolean morePages = true;

 SelectorBuilder builder = new SelectorBuilder();
 Selector selector = builder
 .fields(Id, AdGroupId, MatchType, KeywordText)
 .orderAscBy(AdGroupId)
 .offset(offset)
 .limit(PAGE_SIZE)
 .in(AdGroupId, adGroupId.toString())
 .equals(CriteriaType, KEYWORD)
 .build();
 
 ListKeyword adGroupPages = new ArrayListKeyword();
 
 while (morePages) {
 AdGroupCriterionPage page = adGroupCriterionService.get(selector);
 if (page.getEntries() != null  page.getEntries().length  0) {
  for(AdGroupCriterion adGroupCriterion : page.getEntries()){
  adGroupPages.add(((Keyword)adGroupCriterion.getCriterion()));
  }
 offset += PAGE_SIZE;
 selector = builder.increaseOffsetBy(PAGE_SIZE).build();
 morePages = offset  page.getTotalNumEntries();
 }
 }
 
 return adGroupPages;
  }

 I've created 1 key word but it always return 3 absolutely same objects. 
 First I thought that it 3 different match types, but no all of them 
 identical. Why? 


-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: googleads.errors.AdWordsReportBadRequestError: Type: AuthenticationError.CLIENT_CUSTOMER_ID_INVALID

2014-03-18 Thread David Montgomery
I am given a client id.  I am findng the documeation for the python api
lacking on this regards.  Given a mcc account with api access..how do one
get a report for all campaigns with a given client id?

Thanks


On Wed, Mar 19, 2014 at 4:53 AM, Monty808 davidmontgom...@gmail.com wrote:

 Whats the deal witythe below error?  This is from the python api.  Is it
 sayihg my clienht_id in nkt valid?  wow!  I am using mcc.

 adwords:
   developer_token: sss
   user_agent: test
   client_id: really!!.apps.googleusercontent.com
   client_secret: 
   refresh_token: 


 client =
 adwords.AdWordsClient.LoadFromStorage(path='/home/ubuntu/googleads.yaml')
 report_downloader = client.GetReportDownloader(version='v201402')
 # Create report definition.
 report = {
 'reportName': 'Last 7 days CRITERIA_PERFORMANCE_REPORT',
 'dateRangeType': 'LAST_7_DAYS',
 'reportType': 'CRITERIA_PERFORMANCE_REPORT',
 'downloadFormat': 'CSV',
 'selector': {
 'fields': ['CampaignId', 'AdGroupId', 'Id', 'CriteriaType',
'Criteria', 'Impressions', 'Clicks', 'Cost']
 },
 # Enable to get rows with zero impressions.
 'includeZeroImpressions': 'false'
 }
 f = open('tewt','w')
 report_downloader.DownloadReport(report, f)
 f.close()

  --
 --
 =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
 Also find us on our blog and Google+:
 https://googleadsdeveloper.blogspot.com/
 https://plus.google.com/+GoogleAdsDevelopers/posts
 =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

 You received this message because you are subscribed to the Google
 Groups AdWords API Forum group.
 To post to this group, send email to adwords-api@googlegroups.com
 To unsubscribe from this group, send email to
 adwords-api+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/adwords-api?hl=en
 ---
 You received this message because you are subscribed to a topic in the
 Google Groups AdWords API Forum group.
 To unsubscribe from this topic, visit
 https://groups.google.com/d/topic/adwords-api/1ivHYEIPVFE/unsubscribe.
 To unsubscribe from this group and all its topics, send an email to
 adwords-api+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: AWQL for ManagedCustomerService?

2014-03-18 Thread Ray Tsang (AdWords API Team)
Ian,

I'll make sure to bring that to my team's attention.  Thanks again!

Cheers,

Ray

On Tuesday, March 18, 2014 4:58:57 PM UTC-4, Ian Knox wrote:

  Ah well, thanks for the confirmation-- I guess I can do it the old 
 fashioned way.  
 You might want to update that blog post/the release notes.  If the 
 operations fields listed in the docs are correct, there are quite a few 
 services without AWQL support.

 Ian

 On Tuesday, March 18, 2014 3:39:57 PM UTC-5, Ray Tsang (AdWords API Team) 
 wrote:

 Ian,

 My apologies - the query operation is not on ManagedCustomerService. 
  Please review our API reference 
 docshttps://developers.google.com/adwords/api/docs/reference/v201402/ManagedCustomerServicefor
  operations and parameters.

 Cheers,

 Ray

 On Tuesday, March 18, 2014 4:28:45 PM UTC-4, Ian Knox wrote:

 Using v201402 I can't seem to use AWQL to query ManagedCustomerService 
 as the release notes seem to indicate I should be able to: 
 http://googleadsdeveloper.blogspot.com/2014/03/announcing-v201402-of-adwords-api.html

 PHP Fatal error:  Uncaught SoapFault exception: [Client] Function 
 (query) is not a valid method for this service in foo.php:29
 Stack trace:
 #0 foo.php(29): SoapClient-__call('query', Array)
 #1 foo.php(29): ManagedCustomerService-query('bar')

 Can someone confirm that this should work or am I misunderstanding 
 something here?



-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


ManagedCustomerService behaving differently when using test account versus production account.

2014-03-18 Thread HK
Hi,

We call 'get' on ManagedCustomerService to get the CustomerID for an 
account linked to an MCC. This has worked fine for at least over a year in 
production, but I noticed today that doing this for a test account linked 
to a test MCC account, returns null. In production, the exact same code 
work just fine and returns the customer ID of the linked account (not the 
MCC).

I don't see this called out in the test account 
differenceshttps://developers.google.com/adwords/api/docs/test-accounts#differences_between_test_accounts_and_production_accounts
 list, 
so I'm wondering if this is expected? We are still using ClientLogin, but 
in the process of upgrading. In the call, we are submitting...

ClientCustomerId = null
ClientEmail = email of the linked account
Email = email of MCC
dev token of production account
AuthToken for MCC email/password.


We are using v201309 of the APIs.

Would appreciate if someone could clarify whether this is an AdWords issue 
or by design.

Thanks,
Hans

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Duplicate Campaign Names Suddenly Allowed

2014-03-18 Thread Josh Radcliff (AdWords API Team)
Hi,

For those of you that were impacted by this change I wanted to note the new 
behavior so there won't be any further confusion.


   - The previous rules enforced the uniqueness of campaign names in an 
   account regardless of campaign 
statushttps://developers.google.com/adwords/api/docs/reference/v201402/CampaignService.CampaignStatus
   .
   - The new rules enforce the uniqueness of campaign names only among 
   ACTIVE and PAUSED campaigns. 


As always you can refer to our Working with Objects 
guidehttps://developers.google.com/adwords/api/docs/guides/working-with-objects#understanding-objects
 for 
further information on IDs and their uniqueness.

Thanks,
Josh, AdWords API Team

On Wednesday, March 12, 2014 4:01:28 AM UTC-4, Cesar D. wrote:

 Hi Josh,

A good example is when using Ad hoc reports. In the past you could 
 assume all campaign names were unique and code accordingly; now when 
 fetching the report you have properly handle duplicated rows,  which 
 requires additional logic for both new and existing applications. Same 
 applies for AdWords scripts that query by campaign name.

César


-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: ManagedCustomerService behaving differently when using test account versus production account.

2014-03-18 Thread HK
FYI - this was my bad and the issue has nothing to do with test accounts 
after all. I did not realize that the predicate value was case sensitive. 
So adding a predicate for Login = myacco...@me.com does not return 
anything if the email registered for the account is myacco...@me.com.

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


error concerning 24 hours delay after posting

2014-03-18 Thread Toby Gran
Dear Google Support Representative,

Thank you for your help.  We were able to connect to Adwords.

However, subsequently we experienced another error.

When our developer tried to add offline conversion to our adwords he 
received the following error
{[OfflineConversionError.TOO_RECENT_CLICK @ operations[0].operand]}

It seems that according to Adwords guidelines, it means that we try to post 
offline conversion too fast.
In other words, Adwords interface guidelines require us to post it after 24 
hours.  

This seems like a strange requirement.  Maybe we didn't understand it 
correctly.  
It was my impression that posting could be done immediately.  It's only 
reporting lags 3 hours behind.


Any advise would be greatly appreciated,

Thank you


//https://developers.google.com/api-client-library/dotnet/guide/aaa_oauth
 String conversionName = signUp ? PR_SignUP_IMP : PR_SignIN_IMP;
 
// Conversion time should be higher than the click time.
 String conversionTime = DateTime.Local.ToString(MMdd HHmmss zzz;); 
//;Double.valueOf(INSERT_CONVERSION_VALUE_HERE;)
 Double conversionValue = 50;
 

 Google.Api.Ads.AdWords.Lib.AdWordsUser user = new 
Google.Api.Ads.AdWords.Lib.AdWordsUser();
 // Override specific configuration at runtime.
 AdWordsAppConfig config = user.Config as AdWordsAppConfig;
 
config.ClientCustomerId = 000-111-;
 config.DeveloperToken = abracadabraabracadabra;
 config.UserAgent = *** User Managment;
 
config.AuthorizationMethod = AdWordsAuthorizationMethod.ClientLogin;
 config.OAuth2Mode = Google.Api.Ads.Common.Lib.OAuth2Flow.APPLICATION;
 
config.Email = *@gmail.com;
 config.Password = ;
 

OfflineConversionFeedService offlineConversionFeedService = 
user.GetService(AdWordsService.v201309.OfflineConversionFeedService) as 
OfflineConversionFeedService;
 
//Associate offline conversions with the upload conversion we created.
 OfflineConversionFeed feed = new OfflineConversionFeed();
 feed.conversionName = conversionName;
 feed.conversionTime = conversionTime 
feed.conversionValue = conversionValue;
 feed.googleClickId = gclId;
 
OfflineConversionFeedOperation offlineConversionOperation =
 new OfflineConversionFeedOperation();
 offlineConversionOperation.@operator = Operator.ADD;
 offlineConversionOperation.operand = feed;
 OfflineConversionFeedReturnValue offlineConversionRetval =
 offlineConversionFeedService.mutate(
 new OfflineConversionFeedOperation[] { offlineConversionOperation });
 
OfflineConversionFeed newFeed = offlineConversionRetval.value[0];
 
Console.WriteLine(Uploaded offline conversion value of {0} for Google 
Click ID =  +
 '{1}' to '{2}'., newFeed.conversionValue, newFeed.googleClickId,
 newFeed.conversionName);

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Have I found an undocumented adwords adhoc reporting error code?

2014-03-18 Thread t...@strapper.net
?xml version=1.0 encoding=UTF-8 
standalone=yes?reportDownloadErrorApiErrortypeReportInfoError.INVALID_USER_ID_IN_HEADER/typetrigger/triggerfieldPathselector/fieldPath/ApiError/reportDownloadError

Searching for the 
INVALID_USER_ID_IN_HEADERhttps://developers.google.com/search/results?q=INVALID_USER_ID_IN_HEADERp=%2Fadwords%2Fapi
 error 
code gives No documents found. Weird!

This is the report definition:

reportDefinition xmlns=https://adwords.google.com/api/adwords/cm/v201402;
selector
fieldsCampaignId/fields
fieldsId/fields
fieldsImpressions/fields
fieldsClicks/fields
fieldsCost/fields
predicates
fieldStatus/field
operatorIN/operator
valuesENABLED/values
valuesPAUSED/values
/predicates
/selector
reportNameCustom Adgroup Performance Report/reportName
reportTypeADGROUP_PERFORMANCE_REPORT/reportType
dateRangeTypeLAST_7_DAYS/dateRangeType
downloadFormatTSV/downloadFormat
/reportDefinition

The items put in the HTTP header (anonymized and listed here in JSON format)

{Authorization:ya29.1.xxxg,developerToken:_,clientCustomerId:99,Content-
type:application/x-www-form-urlencoded}



*Oh No!!!*Just realized that I've forgotten the Bearer  before the 
access_token. Now it works! Nevertheless, updating the Adwords 
documentation would be helpful in case someone else has this problem.

With some embarrassment,
Bruce M. Axtens
 

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.