Hi, Your use of the AccountService and CampaignService appears correct. The message "Uninitialized string offset: 0" is a notice from PHP, not an error from the AdWords API.
Best, - Eric On Jan 23, 12:06 am, ipsita rout <afixi.ips...@gmail.com> wrote: > Hi Eric > Thanks for the response.But still my problem is remained unsolved. > My objective is > 1>I need to fetch all the campaigns of each clients of an MCC account > 2>I need to make the report for each of the clients of that MCC > account. > > Now I concentrate to solve the 1st problem. > I commented the <clientEmail></clientEmail> > //'<clientEmail>'.$clientEmail.'</clientEmail>'. > > $login_emails = $account_service->call('getClientAccountInfos'); > $login_emails = $login_emails['getClientAccountInfosReturn']; > print_r($login_emails);//exit; > > it gave > case1: > Array ( [emailAddress] => "The real gmail id" [isCustomerManager] => > true ) > > Then I tried to get all the campaigns of that client through the below > code > Notice: Uninitialized string offset: 0 in /var/www/html/adword_xml/ > client_schedule_report.php on line 65 > > Case2: > Next I uncommented <clientEmail>'.$clientEmail.'</clientEmail>' and > entered the "The real gmail id" got from the above code in place of > $clientEmail of '<clientEmail>'.$clientEmail.'</clientEmail>' and got > approximately 30 real emailAddress whose [isCustomerManager] => false > > I think these 30 emailAddress are the emailAddress of the clients of > my MCC acount.plz answer am I write? > If yes,then can u plz help me to get all the campaigns under those > emailAddress?Hope a positive answer. > > I tried myself and ran the below > $campaign_service=SoapClientFactory::GetClient($namespace.'/ > CampaignService?wsdl','wsdl'); > $campaign_service->setHeaders($headers); > $request_xml ='<getAllAdWordsCampaigns><dummy>0</dummy></ > getAllAdWordsCampaigns>'; > $campaigns = $campaign_service->call('getAllAdWordsCampaigns', > $request_xml); > $campaigns = $campaigns['getAllAdWordsCampaignsReturn']; > print_r($campaigns);exit; > > i>by setting > $headers = > '<email>'.$email.'</email>'. > '<password>'.$password.'</password>'. > '<clientEmail>'.$clientEmail.'</clientEmail>'. > '<useragent>'.$useragent.'</useragent>'. > '<developerToken>'.$developerToken.'</developerToken>'. > '<applicationToken>'.$applicationToken.'</applicationToken>'; > and $clientEmail as the one which I get from case1: mentioned above > It gave result as > Notice: Uninitialized string offset: 0 > Then I set one of the emailAddress out of the 30 emailAddress as > $clientEmail but it gave the same Notice > > Notice: Uninitialized string offset: 0 > > What to do Eric?Plz help me. > Because this time I am not using sanbox.I am using the real > app_token,dev_tokem,email_id , passwd and > $namespace = 'https://adwords.google.com/api/adwords/v13'; > Hope for a quick response > > On Jan 23, 2:47 am, AdWords API Advisor <adwordsapiadvi...@google.com> > wrote: > > > > > Hi, > > > I believe the problem here is that you are running the report in the > > sandbox. All statistics in the sandbox are fake and the report > > service will always return an empty report. Try this request in > > production and you should get back the correct data. > > > Best, > > - Eric Koleda, AdWords API Team > > > On Jan 22, 8:12 am, ipsita rout <afixi.ips...@gmail.com> wrote: > > > > I wrote the following code > > > $sandbox = 1; > > > # Provide AdWords login information.For security reason I have not given > > > the > > > Proper adword information.But in my code i used the proper information. > > > $email = "MCC gmail"; > > > $password = "MCC Gmail's password"; > > > $useragent = "Ipsita Test Sample"; > > > $applicationToken = "App Token"; > > > $account_type = "GOOGLE"; > > > $service = "adwords"; > > > $clientEmail = "client_1+$email"; > > > $namespace = 'https://sandbox.google.com/api/adwords/v13'; > > > $developerToken = "$email++USD"; > > > > # Define SOAP headers. > > > $headers = > > > '<email>'.$email.'</email>'. > > > '<password>'.$password.'</password>'. > > > //'<clientEmail>'.$clientEmail.'</clientEmail>'. > > > '<useragent>'.$useragent.'</useragent>'. > > > '<developerToken>'.$developerToken.'</developerToken>'. > > > '<applicationToken>'.$applicationToken.'</applicationToken>'; > > > > $report_service = SoapClientFactory::GetClient($namespace . > > > '/ReportService?wsdl', 'wsdl'); > > > $report_service->setHeaders($headers); > > > $report_job = > > > '<selectedReportType>Campaign</selectedReportType>'. > > > '<name>Sample Keyword Report</name>'. > > > '<crossClient>true</crossClient>'. > > > '<clientEmails></clientEmails>'. > > > '<aggregationTypes>Summary</aggregationTypes>'. > > > '<adWordsType>ContentOnly</adWordsType>'. > > > '<keywordType>Broad</keywordType>'. > > > '<startDay>2007-12-01</startDay>'. > > > '<endDay>2010-01-22</endDay>'. > > > '<selectedColumns>Campaign</selectedColumns>'. > > > '<selectedColumns>AdGroup</selectedColumns>'. > > > '<selectedColumns>Keyword</selectedColumns>'. > > > '<selectedColumns>KeywordStatus</selectedColumns>'. > > > '<selectedColumns>KeywordMinCPC</selectedColumns>'. > > > '<selectedColumns>KeywordDestUrlDisplay</selectedColumns>'. > > > '<selectedColumns>Impressions</selectedColumns>'. > > > '<selectedColumns>Clicks</selectedColumns>'. > > > '<selectedColumns>CTR</selectedColumns>'. > > > '<selectedColumns>AveragePosition</selectedColumns>'. > > > '<campaigns>1</campaigns>'; > > > $request_xml = > > > '<validateReportJob>'. > > > '<job xmlns:impl="https://adwords.google.com/api/adwords/v13" '. > > > 'xsi:type="impl:DefinedReportJob">'.$report_job.'</job>'. > > > '</validateReportJob>'; > > > > # Validate report. > > > $report_service->call('validateReportJob', $request_xml); > > > //print '<pre>';print_r($report_service);exit; > > > $request_xml = > > > '<scheduleReportJob>'. > > > '<job xmlns:impl="https://adwords.google.com/api/adwords/v13" '. > > > 'xsi:type="impl:DefinedReportJob">'.$report_job.'</job>'. > > > '</scheduleReportJob>'; > > > $job_id = $report_service->call('scheduleReportJob', $request_xml); > > > $job_id = $job_id['scheduleReportJobReturn']; > > > //print '<pre>';print_r($job_id);exit; > > > $request_xml = > > > '<getReportJobStatus>'. > > > '<reportJobId>'.$job_id.'</reportJobId>'. > > > '</getReportJobStatus>'; > > > $status = $report_service->call('getReportJobStatus', $request_xml); > > > $status = $status['getReportJobStatusReturn']; > > > //print '<pre>';print_r($status);exit; > > > while ($status != 'Completed' and $status != 'Failed') { > > > echo 'Report job status is "'.$status.'".'."\n"; > > > sleep(30); > > > $status = $report_service->call('getReportJobStatus', $request_xml); > > > $status = $status['getReportJobStatusReturn']; > > > > } > > > > if ($status == 'Failed') { > > > echo 'Report job generation failed.' . "\n"; > > > return;} > > > > # Download report. > > > $request_xml = > > > '<getGzipReportDownloadUrl>'. > > > '<reportJobId>'.$job_id.'</reportJobId>'. > > > '</getGzipReportDownloadUrl>'; > > > > $report_url = $report_service->call('getGzipReportDownloadUrl', > > > $request_xml); > > > $report_url = $report_url['getGzipReportDownloadUrlReturn']; > > > print '<pre>';print_r($report_url);exit; > > > > The above code gives the below output: > > > Report job status is "Pending". Report job status is "InProgress". Report > > > job status is "InProgress". > > > >https://sandbox.google.com/sandboxreports/defined.xml.gz > > > > When I run the URL and download the file and then unzipped it.Then got > > > the XML file,which has all values containig 0. > > > > Again > > > > When I tried to fetch all the campaigns of the clients under the MCC > > > account.It gives error result. > > > > Can any one please help me to make reports of the clients under an MCC > > > account. > > > > At least help me to fetch all the campaigns of the clients under an MCC. -- 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-...@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.