Re: .NET AdWords Client lib Download Report Error bug.
I created a new program and used the c# example code from nuget. Essentially, all I did was change the login type to ClientLogin, change the report type, download format to XML, and set appropriate selector fields. Here are the details of the modifications I made: - Changed the _Main method in Program.cs to Main. - Within the Main method, I created my user with an AuthorizationMethod of ClientLogin. I replaced: AdWordsUser user = new AdWordsUser(); with: Dictionarystring, string loginDictionary = new Dictionarystring, string() { {email, u...@gmail.com}, {ClientEmail, null}, {password, password}, {developerToken, validdevtoken}, {applicationToken, validapptoken}, {clientCustomerId, 01234}, {useragent, useragent} }; AdWordsUser user = new AdWordsUser(loginDictionary); AdWordsAppConfig config = (AdWordsAppConfig)user.Config; config.AuthorizationMethod = AdWordsAuthorizationMethod.ClientLogin; I set the project's command line arguments to: v201306.DownloadCriteriaReport Within the DownloadCriteriaReport of the v201306 sample, I replaced: definition.reportType = ReportDefinitionReportType.CRITERIA_PERFORMANCE_REPORT; definition.downloadFormat = DownloadFormat.GZIPPED_CSV; definition.dateRangeType = ReportDefinitionDateRangeType.LAST_7_DAYS; // Create selector. Selector selector = new Selector(); selector.fields = new string[] {CampaignId, AdGroupId, Id, CriteriaType, Criteria, CriteriaDestinationUrl, Clicks, Impressions, Cost}; with: definition.reportType = ReportDefinitionReportType.KEYWORDS_PERFORMANCE_REPORT; definition.downloadFormat = DownloadFormat.XML; definition.dateRangeType = ReportDefinitionDateRangeType.YESTERDAY; // Create selector. Selector selector = new Selector(); selector.fields = new string[] { Date, // prevent zero-impression rows AdGroupId, Id, Status, KeywordText, KeywordMatchType, Clicks, Cost, Impressions, AveragePosition, DestinationUrl, FirstPageCpc, QualityScore, MaxCpc, BottomPosition, PreferredPosition, Conversions, }; I then ran the sample, entered a file name, and an exception was thrown. If I changed the report type to CAMPAIGN_PERFORMANCE_REPORT along with the set of selector fields I use in my application, it ran without error and generated a report. Here are the selector fields I use for CRITERIA_PERFORMANCE_REPORT (the other report I've found to fail in v201306): Date, AdGroupId, Id, Status, CriteriaType, AveragePosition, CriteriaDestinationUrl, Criteria, FirstPageCpc, QualityScore, MaxCpc, BottomPosition, PreferredPosition, On Tuesday, September 10, 2013 1:07:14 PM UTC-4, Anash P. Oommen (AdWords API Team) wrote: Hi Peter, Do you have a code example to illustrate the problem? That would be most helpful. Cheers, Anash On Friday, September 6, 2013 7:51:11 PM UTC+5:30, CSPeter wrote: I also have this issue. I'm running the .net client library from nuget (16.1.0). When I make this call with the following report types, the reports are generated without errors: CAMPAIGN_PERFORMANCE_REPORT AD_PERFORMANCE_REPORT ADGROUP_PERFORMANCE_REPORT Then when I make the same call after only changing the reporttype and selector, I receive an error: KEYWORDS_PERFORMANCE_REPORT CRITERIA_PERFORMANCE_REPORT For the above reports, the following error is generated: Google.Api.Ads.AdWords.Util.Reports.ReportsException occurred Message=Report download errors occurred, see errors field for more details. Source=Google.AdWords StackTrace: at Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.DownloadReportToStream(String downloadUrl, Boolean returnMoneyInMicros, String postBody, Stream outputStream) at Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.DownloadClientReportInternal(String downloadUrl, String postBody, Boolean returnMoneyInMicros, String path) at Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.DownloadClientReport[T](T reportDefinition, Boolean returnMoneyInMicros, String path) at mymethod in myfile.cs:line x InnerException: Please note that the InnerException is empty (same as original post). This is normally where we are provided details about the failure. All reports fail if I set the ReportVersion to v201302. But if I change all code references to v201302, all of the mentioned reports run without error and return data. As an aside, the same error occurs on all reports If
Token
Sorry to ask the question here, but I don't know what else to do. I applied for a developer token in June, this is now September and it still says Pending Approval. I have emailed adwordsapi-tok...@google.com, resubmitted the application and called Adwords support, all to no avail. I did get a test account approved back in June, but that is the last I heard from Google about this. Any help would be much appreciated. -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups AdWords API Forum group. To post to this group, send email to 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/groups/opt_out.
Getting ad words and analytics by using Google API?
Can i get data from ad words and analytics by using Google API? And from the data can i make customize reports for conversion analysis against each keyword? For Example: *Table columns :* Keywords | Max CPC | Avg CPC | Clicks | Impressions | CTR | Unique Visitors | Bounce Rate | Revenue | Quantity |Average Quantity | Unique Purchases *Please note*; I only want to see analytics data of those keywords which are currently eligible in adwords. It means that the data will comes from both analytics ad words into a (customized) table according to the user's needs. Is that possible ? then how ? and through which API ? -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups AdWords API Forum group. To post to this group, send email to 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/groups/opt_out.
Re: No campaigns were found
Hi, i don't use the developer token from 773-205-0228. As i wrote before i am using it from 740-266-0867 2. You can make calls with the credentials of 773-205-0228 or 161-227-5683 and 161-227-5683 as clientCustomerId. the clientCustumerID is what i get from here: https://code.google.com/apis/console Or not? I used the client ID 321867644912-mcaqsqkpso9k92uail0fn68uresu0rqd.apps.googleusercontent.com is it correct? -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups AdWords API Forum group. To post to this group, send email to 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/groups/opt_out.
Re: Why is BulkOpportunityService gone?
Hello Danial, Thanks for your reply. But TargetingIdeaService doesn't provide those opportunities in UI, instead something like what Keyword Planner provides. I would rather have the opportunities provided via API, which would be convenient. Why was it deprecated? On Tuesday, September 10, 2013 8:09:13 PM UTC+8, Danial Klimkin wrote: Hello Yihang, While BulkOpportunityService is gone, you can still use TargetingIdeaService to find keyword and placement ideas: https://developers.google.com/adwords/api/docs/reference/latest/TargetingIdeaService -Danial, AdWords API Team. On Thursday, September 5, 2013 7:59:06 AM UTC+4, Yihang Luo wrote: Hello, everyone. I am trying to find the functions in the API to get the opportunities provided in the opportunity tab in the UI, and I found BulkOpportunityService, which has, how ever, been deprecated. What was the reason? I would be happy to get the opportunities via API. -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups AdWords API Forum group. To post to this group, send email to 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/groups/opt_out.
Re: .NET AdWords Client lib Download Report Error bug.
Hi Peter, BottomPosition is not a valid column as per https://developers.google.com/adwords/api/docs/appendix/reports#keywords. If you look at the ReportsException being thrown and then examine it's Error field, you will see the cause of error. Cheers, Anash On Thursday, September 12, 2013 12:29:04 PM UTC+5:30, CSPeter wrote: I created a new program and used the c# example code from nuget. Essentially, all I did was change the login type to ClientLogin, change the report type, download format to XML, and set appropriate selector fields. Here are the details of the modifications I made: - Changed the _Main method in Program.cs to Main. - Within the Main method, I created my user with an AuthorizationMethod of ClientLogin. I replaced: AdWordsUser user = new AdWordsUser(); with: Dictionarystring, string loginDictionary = new Dictionarystring, string() { {email, us...@gmail.comjavascript: }, {ClientEmail, null}, {password, password}, {developerToken, validdevtoken}, {applicationToken, validapptoken}, {clientCustomerId, 01234}, {useragent, useragent} }; AdWordsUser user = new AdWordsUser(loginDictionary); AdWordsAppConfig config = (AdWordsAppConfig)user.Config; config.AuthorizationMethod = AdWordsAuthorizationMethod.ClientLogin; I set the project's command line arguments to: v201306.DownloadCriteriaReport Within the DownloadCriteriaReport of the v201306 sample, I replaced: definition.reportType = ReportDefinitionReportType.CRITERIA_PERFORMANCE_REPORT; definition.downloadFormat = DownloadFormat.GZIPPED_CSV; definition.dateRangeType = ReportDefinitionDateRangeType.LAST_7_DAYS; // Create selector. Selector selector = new Selector(); selector.fields = new string[] {CampaignId, AdGroupId, Id, CriteriaType, Criteria, CriteriaDestinationUrl, Clicks, Impressions, Cost}; with: definition.reportType = ReportDefinitionReportType.KEYWORDS_PERFORMANCE_REPORT; definition.downloadFormat = DownloadFormat.XML; definition.dateRangeType = ReportDefinitionDateRangeType.YESTERDAY; // Create selector. Selector selector = new Selector(); selector.fields = new string[] { Date, // prevent zero-impression rows AdGroupId, Id, Status, KeywordText, KeywordMatchType, Clicks, Cost, Impressions, AveragePosition, DestinationUrl, FirstPageCpc, QualityScore, MaxCpc, BottomPosition, PreferredPosition, Conversions, }; I then ran the sample, entered a file name, and an exception was thrown. If I changed the report type to CAMPAIGN_PERFORMANCE_REPORT along with the set of selector fields I use in my application, it ran without error and generated a report. Here are the selector fields I use for CRITERIA_PERFORMANCE_REPORT (the other report I've found to fail in v201306): Date, AdGroupId, Id, Status, CriteriaType, AveragePosition, CriteriaDestinationUrl, Criteria, FirstPageCpc, QualityScore, MaxCpc, BottomPosition, PreferredPosition, On Tuesday, September 10, 2013 1:07:14 PM UTC-4, Anash P. Oommen (AdWords API Team) wrote: Hi Peter, Do you have a code example to illustrate the problem? That would be most helpful. Cheers, Anash On Friday, September 6, 2013 7:51:11 PM UTC+5:30, CSPeter wrote: I also have this issue. I'm running the .net client library from nuget (16.1.0). When I make this call with the following report types, the reports are generated without errors: CAMPAIGN_PERFORMANCE_REPORT AD_PERFORMANCE_REPORT ADGROUP_PERFORMANCE_REPORT Then when I make the same call after only changing the reporttype and selector, I receive an error: KEYWORDS_PERFORMANCE_REPORT CRITERIA_PERFORMANCE_REPORT For the above reports, the following error is generated: Google.Api.Ads.AdWords.Util.Reports.ReportsException occurred Message=Report download errors occurred, see errors field for more details. Source=Google.AdWords StackTrace: at Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.DownloadReportToStream(String downloadUrl, Boolean returnMoneyInMicros, String postBody, Stream outputStream) at Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.DownloadClientReportInternal(String downloadUrl, String postBody, Boolean returnMoneyInMicros, String path) at Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.DownloadClientReport[T](T reportDefinition, Boolean returnMoneyInMicros, String
Re: Account Hierarchy Access for Clients
Hi Martin, The kind of permissions you are looking for applies only to MCC levels, so I can think of the following approach: 1. If your client already has an MCC, then use ManagedCustomerService.mutateLink to send an invite, accept it etc. so that the MCC becomes your child account. 2. If your client doesn't have an MCC account, then use ManagedCustomerService.mutate to create an MCC for them. Then, create the sub accounts under the client's MCC. The client will then need to login with their MCC credentials and they will see only the accounts under their MCC. To create account under the a sub mcc, you can use the OAuth2 tokens of your root MCC, and set clientCustomerId as the sub mcc. Similar rules work for retrieval as well. If you want to create all the child accounts directly under your root MCC itself, and then choose to show only a subset of that to a customer, then it cannot be done using AdWords API permissions; you need to keep track of the accounts and display them as required. Cheers, Anash P. Oommen, AdWords API Advisor. On Thursday, September 12, 2013 1:20:33 AM UTC+5:30, Martin Samm wrote: Apologies if this is a common question but i can't find an answer. we have an app (with an MCC 'root' account) which we'll use to manage clients. We'll use the API to create sub-accounts (already tested with API) but i need to limit the client's access to only there account via MCC, i.e. once we create their sub-account under our root account can we set security so that they can go to the MCC and see only their [sub] account? Is this via OAuth 2.0 and tokens and generating a link or can we set login credentials? If it's OAuth 2.0 how do we specify the relationship between [our] client and the sub account we create for them? Can you point me in the right direction for docs, samples, explanations? Many Thanks Martin -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups AdWords API Forum group. To post to this group, send email to 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/groups/opt_out.
Re: Get MCC working, allow clients to login and able to get their own reports.
Yes, you get the OAuth2 information from the OAuth2 console, only the developer token comes from the AdWords API Center. Cheers, Anash P. Oommen, AdWords API Advisor. On Wednesday, September 11, 2013 3:26:02 PM UTC+5:30, g...@mediasales.hu wrote: Thanks for the answer! So i have to register our APi on console and get OAuth2.0 secret and client_id to be able to get our clients login into our application with their own login informations? 2013. szeptember 4., szerda 14:18:34 UTC+2 időpontban g...@mediasales.hua következőt írta: Hi ! We are working on a marketing system and we are developing an adwords API. I would like to implement a login interface inside our system's menu to allow clients to create, update stuffs for their own account and get reports from campaigns that they interested in. So i need a second login page for the API and if they logged in they can reach other functions. I think i will need to implement it with MCC, but i don't know how to use it. Thanks for any help. -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups AdWords API Forum group. To post to this group, send email to 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/groups/opt_out.
Re: No campaigns were found
No, clientCustomerId is the AdWords Customer Id of your test account. it's on the top right side of the page when you login to your AdWords account. Cheers, Anash On Wednesday, September 11, 2013 2:11:35 PM UTC+5:30, ga...@coderr-media.de wrote: Hi, i don't use the developer token from 773-205-0228. As i wrote before i am using it from 740-266-0867 2. You can make calls with the credentials of 773-205-0228 or 161-227-5683 and 161-227-5683 as clientCustomerId. the clientCustumerID is what i get from here: https://code.google.com/apis/console Or not? I used the client ID 321867644912-mcaqsqkpso9k92uail0fn68uresu0rqd.apps.googleusercontent.comis it correct? -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups AdWords API Forum group. To post to this group, send email to 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/groups/opt_out.
Re: .NET AdWords Client lib Download Report Error bug.
Thanks. I haven't seen any report errors come through since you guys added the Errors object. This was in fact my issue (along with PreferredPosition also being removed). On Thursday, September 12, 2013 3:48:52 AM UTC-4, Anash P. Oommen (AdWords API Team) wrote: Hi Peter, BottomPosition is not a valid column as per https://developers.google.com/adwords/api/docs/appendix/reports#keywords. If you look at the ReportsException being thrown and then examine it's Error field, you will see the cause of error. Cheers, Anash On Thursday, September 12, 2013 12:29:04 PM UTC+5:30, CSPeter wrote: I created a new program and used the c# example code from nuget. Essentially, all I did was change the login type to ClientLogin, change the report type, download format to XML, and set appropriate selector fields. Here are the details of the modifications I made: - Changed the _Main method in Program.cs to Main. - Within the Main method, I created my user with an AuthorizationMethod of ClientLogin. I replaced: AdWordsUser user = new AdWordsUser(); with: Dictionarystring, string loginDictionary = new Dictionarystring, string() { {email, us...@gmail.com }, {ClientEmail, null}, {password, password}, {developerToken, validdevtoken}, {applicationToken, validapptoken}, {clientCustomerId, 01234}, {useragent, useragent} }; AdWordsUser user = new AdWordsUser(loginDictionary); AdWordsAppConfig config = (AdWordsAppConfig)user.Config; config.AuthorizationMethod = AdWordsAuthorizationMethod.ClientLogin; I set the project's command line arguments to: v201306.DownloadCriteriaReport Within the DownloadCriteriaReport of the v201306 sample, I replaced: definition.reportType = ReportDefinitionReportType.CRITERIA_PERFORMANCE_REPORT; definition.downloadFormat = DownloadFormat.GZIPPED_CSV; definition.dateRangeType = ReportDefinitionDateRangeType.LAST_7_DAYS; // Create selector. Selector selector = new Selector(); selector.fields = new string[] {CampaignId, AdGroupId, Id, CriteriaType, Criteria, CriteriaDestinationUrl, Clicks, Impressions, Cost}; with: definition.reportType = ReportDefinitionReportType.KEYWORDS_PERFORMANCE_REPORT; definition.downloadFormat = DownloadFormat.XML; definition.dateRangeType = ReportDefinitionDateRangeType.YESTERDAY; // Create selector. Selector selector = new Selector(); selector.fields = new string[] { Date, // prevent zero-impression rows AdGroupId, Id, Status, KeywordText, KeywordMatchType, Clicks, Cost, Impressions, AveragePosition, DestinationUrl, FirstPageCpc, QualityScore, MaxCpc, BottomPosition, PreferredPosition, Conversions, }; I then ran the sample, entered a file name, and an exception was thrown. If I changed the report type to CAMPAIGN_PERFORMANCE_REPORT along with the set of selector fields I use in my application, it ran without error and generated a report. Here are the selector fields I use for CRITERIA_PERFORMANCE_REPORT (the other report I've found to fail in v201306): Date, AdGroupId, Id, Status, CriteriaType, AveragePosition, CriteriaDestinationUrl, Criteria, FirstPageCpc, QualityScore, MaxCpc, BottomPosition, PreferredPosition, On Tuesday, September 10, 2013 1:07:14 PM UTC-4, Anash P. Oommen (AdWords API Team) wrote: Hi Peter, Do you have a code example to illustrate the problem? That would be most helpful. Cheers, Anash On Friday, September 6, 2013 7:51:11 PM UTC+5:30, CSPeter wrote: I also have this issue. I'm running the .net client library from nuget (16.1.0). When I make this call with the following report types, the reports are generated without errors: CAMPAIGN_PERFORMANCE_REPORT AD_PERFORMANCE_REPORT ADGROUP_PERFORMANCE_REPORT Then when I make the same call after only changing the reporttype and selector, I receive an error: KEYWORDS_PERFORMANCE_REPORT CRITERIA_PERFORMANCE_REPORT For the above reports, the following error is generated: Google.Api.Ads.AdWords.Util.Reports.ReportsException occurred Message=Report download errors occurred, see errors field for more details. Source=Google.AdWords StackTrace: at Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.DownloadReportToStream(String downloadUrl, Boolean returnMoneyInMicros, String postBody, Stream outputStream) at
Re: Login form for third-party policy, reports by accounts
Hi, The AdWords API Forum is a technical support forum and doesn't offer guidance on interpreting Terms and Conditionshttps://developers.google.com/adwords/api/docs/termsor Require Minimum Functionality. For this information, please ask these questions during your token review process. Regards, - Paul, AdWords API Team. On Friday, 6 September 2013 16:05:29 UTC+2, g...@mediasales.hu wrote: Hi! We want an Adwords Api which is syncronizing our folders with the online adwords campaigns and AdGroups, because we have exactly the folders like the Campaigns/Adgourps online, and automatically updating the Ads when there are any in theese folders. An other part of the API checks the online content and syncronize it with our database. If anything changed on our clients websites, we pause the Ads or do something with the Ads automatically. We have the RMF ready. The only thing we miss is third-party-policy. As i know we have to give reports by account to our clients and we have to give test account to Google for our API. (The Api is inside our online marketing system under a sub-menu). Do we have to implement login interface for our clients? Our test development account is inside the MCC account .Can we get the client accounts from here? How could we implement a login form without storing any information is database? Is there any example for this kind of probleme? If you already completed this task in any form pls give advice! Thanks you. -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups AdWords API Forum group. To post to this group, send email to 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/groups/opt_out.
Re: Dynamic price in ads
Hi Paul, yes, we include client customer id approximately 30-40% of the keywords are updated successfully четверг, 12 сентября 2013 г., 12:47:24 UTC+3 пользователь Paul Matthews (AdWords API Team) написал: Hi Valeril, Are you including a client customer id in the requests you're sending to the server? This error often caused by missing this (session level) property. Regards, - Paul, AdWords API Team. On Thursday, 29 August 2013 11:07:43 UTC+2, Valerii Buzivskyi wrote: UP пятница, 23 августа 2013 г., 12:24:01 UTC+3 пользователь Valerii Buzivskyi написал: Hi Paul, thank you for your reply! We just try to send one request for few times. Also get some errors, like this. 2013-08-23 12:01:44 | DEBUG | Updating prices for group 8788017099 [] | 16.5 MB 2013-08-23 12:01:48 | DEBUG | Updating prices for group 8788015899 [] | 16.5 MB 2013-08-23 12:01:52 | DEBUG | Updating prices for group 8788016139 [] | 16.5 MB 2013-08-23 12:01:56 | DEBUG | Updating prices for group 8788016019 [] | 16.5 MB 2013-08-23 12:02:00 | CRITICAL | [AdParamError.INVALID_ADGROUP_CRITERION_SPECIFIED @ operations[0].operand; trigger:'AdGroupId = 8788016019, CriterionId = 63973714299'] [] | 16.5 MB 2013-08-23 12:02:00 | DEBUG | Updating prices for group 8788011939 [] | 16.5 MB 2013-08-23 12:02:04 | CRITICAL | [AdParamError.INVALID_ADGROUP_CRITERION_SPECIFIED @ operations[0].operand; trigger:'AdGroupId = 8788011939, CriterionId = 171333082'] [] | 16.5 MB 2013-08-23 12:02:04 | DEBUG | Updating prices for group 8788018659 [] | 16.5 MB 2013-08-23 12:02:08 | DEBUG | Updating prices for group 8788019259 [] | 16.5 MB 2013-08-23 12:02:13 | CRITICAL | [AdParamError.INVALID_ADGROUP_CRITERION_SPECIFIED @ operations[0].operand; trigger:'AdGroupId = 8788019259, CriterionId = 1270341033'] [] | 16.5 MB 2013-08-23 12:02:13 | DEBUG | Updating prices for group 8788017819 [] | 16.5 MB четверг, 22 августа 2013 г., 23:12:56 UTC+3 пользователь Paul Matthews (AdWords API Team) написал: Hi Valeril, Danial is out of the office at the moment, so I'm going to look into this case for you. It does indeed sound strange. Have you tried sending just one request, to see if you get the same response? I see you're sending many hundreds. I'm looking further into this, as soon as I have any more information, I'll update this thread. Regards, - Paul, AdWords API Team. On Wednesday, 21 August 2013 09:18:58 UTC-4, Valerii Buzivskyi wrote: Hello Danial, 0004e473326475380ae53b8924f5 Hope, that's it. среда, 21 августа 2013 г., 15:27:58 UTC+3 пользователь Danial Klimkin написал: Hello Valerii, Please let me know the requestID for the errors below. It can be found in the SOAP response header. -Danial, AdWords API Team. On Wednesday, August 21, 2013 3:44:38 PM UTC+4, Valerii Buzivskyi wrote: Here few errors: AdParamError.INVALID_ADGROUP_CRITERION_SPECIFIED @ operations[1508].operand; trigger:'AdGroupId = 8788019259, CriterionId = 64165396539', AdParamError.INVALID_ADGROUP_CRITERION_SPECIFIED @ operations[1509].operand; trigger:'AdGroupId = 8788019259, CriterionId = 64165396659', AdParamError.INVALID_ADGROUP_CRITERION_SPECIFIED @ operations[1510].operand; trigger:'AdGroupId = 8788019259, CriterionId = 64165396779', AdParamError.INVALID_ADGROUP_CRITERION_SPECIFIED @ operations[1511].operand; trigger:'AdGroupId = 8788019259, CriterionId = 64165396899', AdParamError.INVALID_ADGROUP_CRITERION_SPECIFIED @ operations[1512].operand; trigger:'AdGroupId = 8788019259, CriterionId = 64165397019', AdParamError.INVALID_ADGROUP_CRITERION_SPECIFIED @ operations[1513].operand; trigger:'AdGroupId = 8788019259, CriterionId = 64165397139', AdParamError.INVALID_ADGROUP_CRITERION_SPECIFIED @ operations[1514].operand; trigger:'AdGroupId = 8788019259, CriterionId = 64165397259', AdParamError.INVALID_ADGROUP_CRITERION_SPECIFIED @ operations[1515].operand; trigger:'AdGroupId = 8788019259, CriterionId = 64165397379', AdParamError.INVALID_ADGROUP_CRITERION_SPECIFIED @ operations[1516].operand; trigger:'AdGroupId = 8788019259, CriterionId = 64165397499'] среда, 21 августа 2013 г., 12:29:32 UTC+3 пользователь Valerii Buzivskyi написал: Hello Danial, thank you for your reply! We tryed to use {param1:} to associate price to each keyword. We get ads with correct keywords and prices. But there are some bugs. Almost 80% of keywords couldn't be associated with price because of criterion id error. We make 2 scanning of database. 1-st scanning gives us keywords (each keyword have its own id) 2-nd scanning gives us prices (with ids for keywords) Then system try to associate keywords and prices via IDs. Some keywords and prices associated, and some - not/ Appears criterion id error - wrong criterion id. But when we try to compare ids manualy - we see, that everything is ok, all ids correct. And the last - we
Re: invalid grant with php
Hi Alex, It seems that you're using the response code as the refresh token. You should exchange the code for a refresh_token and an access_token. The refresh_token you keep, the access_token you use for up to 1 hour. Regards, - Paul, AdWords API Team. On Monday, 26 August 2013 16:18:02 UTC+2, alexande...@adticket.de wrote: Hello Paul, I've run the GetRefreshToken example and added the refresh_token in the auth.ini but if I execute my script I always get the invalid_grand error. But it works when I try to access adwords with curl on the command-line and using the same refresh_token. I don't get it. Here my code: $clientId = '.apps.googleusercontent.com'; $clientSecret = '; try { if (isset($_REQUEST['code'])) { $user = Yii::app()-session['user']; $oauth2Info = array( 'client_id' = $clientId, 'client_secret' = $clientSecret, 'refresh_token' = $_REQUEST['code'], 'grant_type' = 'authorization_code', 'redirect_uri' = 'https://localhost/Elaine/site/auth' ); $user-SetOAuth2Info($oauth2Info); // on that call i get the invalid_grand error $campaignService = $user-GetService('CampaignService', 'v201306'); $selector = new Selector(); $selector-fields = array('Id'); $selector-paging = new Paging(0, 0); $page = $campaignService-get($selector); die; } $redirectUri = 'https://localhost/Elaine/site/auth'; $offline = false; $user = new AdWordsUser(); $OAuth2Handler = $user-GetOAuth2Handler(); $authorizationUrl = $OAuth2Handler-GetAuthorizationUrl($user-GetOAuth2Info(), $redirectUri, $offline); // Store the AdWordsUser in session. Yii::app()-session['user'] = $user; // Redirect to authorization URL. header('Location: ' . $authorizationUrl); } And thats how my user-object looks like befor using GetService-Method. AdWordsUser#1 ( [AdWordsUser:libVersion] = '4.4.0' [AdWordsUser:libName] = 'AwApi-PHP' [AdWordsUser:defaultVersion] = 'v201306' [AdWordsUser:defaultServer] = 'https://adwords.google.com' [AdWordsUser:email] = null [AdWordsUser:password] = null [AdWordsUser:userAgent] = 'x' [AdsUser:requestHeaderElements] = array ( 'authToken' = null 'userAgent' = ' (AwApi-PHP/4.4.0, Common-PHP/5.0.0, PHP/5.4.9-4ubuntu2.2)' 'clientCustomerId' = null 'developerToken' = '' 'applicationToken' = null ) [AdsUser:logsDirectory] = '/var/www/Elaine' [AdsUser:soapCompression] = true [AdsUser:soapCompressionLevel] = '1' [AdsUser:wsdlCache] = 0 [AdsUser:authServer] = 'https://accounts.google.com' [AdsUser:oauth2Info] = array ( 'client_id' = 'x.googleusercontent.com' 'client_secret' = 'xx' 'refresh_token' = '' 'grant_type' = 'authorization_code' 'redirect_uri' = 'https://localhost/Elaine/site/auth' ) [AdsUser:oauth2Handler] = SimpleOAuth2Handler#2 ( [SimpleOAuth2Handler:curlUtils] = CurlUtils#3 ( ) [OAuth2Handler:server] = 'https://accounts.google.com' [*:scope] = 'https://adwords.google.com/api/adwords/' ) [AdsUser:libVersion] = '5.0.0' [AdsUser:libName] = 'Common-PHP' [AdsUser:defaultServer] = 'https://adwords.google.com' [AdsUser:defaultVersion] = 'v201306' ) Any idea what I'am doing wrong. Regards, Alex Am Sonntag, 18. August 2013 18:00:12 UTC+2 schrieb Jur: Hello Paul, Thanks for your reply. I've run the GetRefreshToken.php and got an URL back with the text that I should open it in the browser. On that URL I got a token, so that script works perfectly. Any other idea? Regards, Jur Op donderdag 15 augustus 2013 17:33:24 UTC+2 schreef Paul Matthews (AdWords API Team): Can you confirm that you've both followed the instructions in the OAuth2 Wiki page https://code.google.com/p/google-api-adwords-php/wiki/OAuth2 ? Specifically the part about running the GetRefreshToken.php examplehttps://code.google.com/p/google-api-adwords-php/source/browse/examples/AdWords/Auth/GetRefreshToken.phpand added the refresh_token to your auth.inihttps://code.google.com/p/google-api-adwords-php/source/browse/src/Google/Api/Ads/AdWords/auth.ini ? Regards, - Paul, AdWords API Team. On Thursday, 8 August 2013 12:22:57 UTC-4, Jur wrote: Hello Alex, I've the exact same problem. Were you able to generate a refresh_token with the GetRefreshToken.php script? I was able to do this, but can't get any campaign list visible without the invalid grant error. Did you find a solution? Regards, Jur Op woensdag 7 augustus 2013
Re: No campaigns were found
Where i have to use it? I use the Example GetCampaings.php there is nothing like clientCustomerId !? Am Donnerstag, 12. September 2013 10:06:34 UTC+2 schrieb Anash P. Oommen (AdWords API Team): No, clientCustomerId is the AdWords Customer Id of your test account. it's on the top right side of the page when you login to your AdWords account. Cheers, Anash On Wednesday, September 11, 2013 2:11:35 PM UTC+5:30, ga...@coderr-media.de wrote: Hi, i don't use the developer token from 773-205-0228. As i wrote before i am using it from 740-266-0867 2. You can make calls with the credentials of 773-205-0228 or 161-227-5683 and 161-227-5683 as clientCustomerId. the clientCustumerID is what i get from here: https://code.google.com/apis/console Or not? I used the client ID 321867644912-mcaqsqkpso9k92uail0fn68uresu0rqd.apps.googleusercontent.comis it correct? -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups AdWords API Forum group. To post to this group, send email to 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/groups/opt_out.
Re: Account Hierarchy Access for Clients
Anash, i've been looking at this some more and have some follow on questions. i'm using approach number 2 as you outlined and doing this: // Create customer. $customer = new ManagedCustomer(); $customer-name = 'Account #' . uniqid(); $customer-currencyCode = 'GBP'; $customer-dateTimeZone = 'Europe/London'; // Create operation. $operation = new ManagedCustomerOperation(); $operation-operator = 'ADD'; $operation-operand = $customer; $operations = array($operation); // Make the mutate request. $result = $managedCustomerService-mutate($operations); where i've got the managedCustomerService is retrieved using our [root] MCC client id. that brings back the new account/client id. What i'm not sure about is the next part. you said: The client will then need to login with their MCC credentials and they will see only the accounts under their MCC. What credentials? Can i get those credentials and use them to create a link to the MCC for them? Do we need to generate OAuth2 credentials or something similar for the [new] MCC? Thanks again for the help. Martin On Thursday, September 12, 2013 10:04:17 AM UTC+1, Martin Samm wrote: Anash, thanks for that clarity. i'll progress with option 1 but might be back for more pointers. Many Thanks Martin thanks for that On Thursday, September 12, 2013 9:03:42 AM UTC+1, Anash P. Oommen (AdWords API Team) wrote: Hi Martin, The kind of permissions you are looking for applies only to MCC levels, so I can think of the following approach: 1. If your client already has an MCC, then use ManagedCustomerService.mutateLink to send an invite, accept it etc. so that the MCC becomes your child account. 2. If your client doesn't have an MCC account, then use ManagedCustomerService.mutate to create an MCC for them. Then, create the sub accounts under the client's MCC. The client will then need to login with their MCC credentials and they will see only the accounts under their MCC. To create account under the a sub mcc, you can use the OAuth2 tokens of your root MCC, and set clientCustomerId as the sub mcc. Similar rules work for retrieval as well. If you want to create all the child accounts directly under your root MCC itself, and then choose to show only a subset of that to a customer, then it cannot be done using AdWords API permissions; you need to keep track of the accounts and display them as required. Cheers, Anash P. Oommen, AdWords API Advisor. On Thursday, September 12, 2013 1:20:33 AM UTC+5:30, Martin Samm wrote: Apologies if this is a common question but i can't find an answer. we have an app (with an MCC 'root' account) which we'll use to manage clients. We'll use the API to create sub-accounts (already tested with API) but i need to limit the client's access to only there account via MCC, i.e. once we create their sub-account under our root account can we set security so that they can go to the MCC and see only their [sub] account? Is this via OAuth 2.0 and tokens and generating a link or can we set login credentials? If it's OAuth 2.0 how do we specify the relationship between [our] client and the sub account we create for them? Can you point me in the right direction for docs, samples, explanations? Many Thanks Martin -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups AdWords API Forum group. To post to this group, send email to 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/groups/opt_out.
Re: Changing FeedItemDevicePreference from mobile to none for enhanced sitelink adextensions
We are actually still experiencing this bug today. To change device preference away from MOBILE, we simply set a NULL into the data object, but that still fails to change the preference from MOBILE to NONE. Any help would be appreciated. -Jay -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups AdWords API Forum group. To post to this group, send email to 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/groups/opt_out.
Re: java.net.SocketException
Hi, I believe it's not on the AdWords API layer nor whether your developer token is approved. But on the HTTPS library you are using. Can you please try thishttp://pic.dhe.ibm.com/infocenter/wveinfo/v7r0/index.jsp?topic=%2Fcom.ibm.websphere.xd.messages.doc%2Fsource%2FCWPKI0027I.html or thishttps://www.ibm.com/developerworks/community/forums/html/topic?id=----13926228to see if it resolved? Best, - Takeshi, AdWords API Team On Tuesday, September 10, 2013 10:05:06 AM UTC+9, le...@kamaliinc.com wrote: Hi, when i am trying to get the Refresh token i am getting following exception: Sep 10, 2013 6:12:18 AM com.ibm.ws.ssl.config.SSLConfigManager INFO: ssl.disable.url.hostname.verification.CWPKI0027I Sep 10, 2013 6:12:19 AM com.ibm.ws.security.config.SecurityObjectLocator WARNING: Could not obtain SecurityConfigObjectFactory on the client side. Exception in thread main java.net.SocketException at javax.net.ssl.DefaultSSLSocketFactory.createSocket(SSLSocketFactory.java:8) at com.ibm.net.ssl.www2.protocol.https.b.afterConnect(b.java:15) at com.ibm.net.ssl.www2.protocol.https.c.connect(c.java:3) at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:865) at com.ibm.net.ssl.www2.protocol.https.a.getOutputStream(a.java:54) at com.google.api.client.http.javanet.NetHttpRequest.execute(NetHttpRequest.java:77) at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:964) at com.google.api.client.auth.oauth2.TokenRequest.executeUnparsed(TokenRequest.java:283) at com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeTokenRequest.execute(GoogleAuthorizationCodeTokenRequest.java:158) at adwords.axis.auth.GetRefreshToken.getOAuth2Credential(GetRefreshToken.java:78) at adwords.axis.auth.GetRefreshToken.main(GetRefreshToken.java:114) i am not able to resolve this as my developer token was not yet approved. And one more is i am trying to access from restricted access network. What could be the reason to get the socket exception while acccesing the Adwords API -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups AdWords API Forum group. To post to this group, send email to 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/groups/opt_out.