Rishav,

Could I trouble you to confirm if you have PyXML v0.8.3 or newer?

Thanks,

Ray

On Wednesday, March 5, 2014 11:31:18 PM UTC-5, Rishav Kumar wrote:
>
>     storage=Storage(location of my credentials \SampleAD.dat')
>     credential =storage.get()
>     if credential is None:
>         flow = OAuth2WebServerFlow(
>                                     client_id=oauth2_client_id,
>                                     client_secret=oauth2_client_secret,
>                                     # Scope is the server address with 
> '/api/adwords' appended.
>                                     scope='
> https://adwords.google.com/api/adwords',
>                                     user_agent='SampleAPI',
>                                     
> redirect_uri='urn:ietf:wg:oauth:2.0:oob')
>         authorize_url = flow.step1_get_authorize_url()
>         print authorize_url
>         webbrowser.open(authorize_url,)
>         print ('Log in to your Google Account and open the following URL: 
> \n%s\n' %authorize_url)
>         print 'After approving the token enter the verification code (if 
> specified).'
>         code = raw_input('Code: ').strip()
>         try:
>             credential = flow.step2_exchange(code)
>             
> storage=Storage('D:\Rishav_Work\Eclipse_WorkSpace\SampleAd.dat')
>             client = AdWordsClient(headers={'developerToken': '%s++USD' % 
> email,
>                                             'clientCustomerId': 
> client_customer_id,
>                                             'userAgent': 'SampleAPI',
>                                             'oauth2credentials': credential
>                                             })
>             credentials = client.oauth2credentials
>             print 'OAuth2 authorization successful!'
>
>             # OAuth2 credential objects can be refreshed via 
> credentials.refresh() - the
>             # access token expires after 1 hour.
>             credentials.refresh(httplib2.Http())
>
>             # Note: you could simply set the credentials as below and skip 
> the previous
>             # steps once access has been granted.
>             client.oauth2credentials = credentials
>            
>             campaign_service = client.GetCampaignService(version='v201309')
>             print campaign_service
>             # OAuth2 credentials objects can be reused
>             credentials = client.oauth2credentials
>             client.oauth2credentials = credentials
>             http = httplib2.Http()
>             print http
>             print 'OAuth2 authorization successful!'
>             storage.put(credentials)
>             
>         except FlowExchangeError as e:
>             sys.exit('Authentication has failed: %s' % e)
>     else:
>         client = AdWordsClient(headers={'developerToken': '%s++USD' % 
> email,
>                                             'clientCustomerId': 
> client_customer_id,
>                                             'userAgent': 'SampleAPI',
>                                             'oauth2credentials': credential
>                                             })
>         credentials = client.oauth2credentials
>         print 'OAuth2 authorization successful!'
>
>         # OAuth2 credential objects can be refreshed via 
> credentials.refresh() - the
>         # access token expires after 1 hour.
>         credentials.refresh(httplib2.Http())
>
>         # Note: you could simply set the credentials as below and skip the 
> previous
>         # steps once access has been granted.
>         client.oauth2credentials = credentials
>
>         campaign_service = client.GetCampaignService(version='v201309')
>
>         # Get all campaigns.
>         # Construct selector and get all campaigns.
>         selector = {
>                     'fields': ['Id', 'Name', 'Status']
>                     }
>         campaigns = campaign_service.Get(selector)[1]
>
>         # Display results.
>         if 'entries' in campaigns:
>             for campaign in campaigns['entries']:
>                 print ('Campaign with id \'%s\', name \'%s\' and status 
> \'%s\' was found.'
>              % (campaign['id'], campaign['name'], campaign['status']))
>         else:
>             print 'No campaigns were found.'
>
>         # Initialize appropriate service.
>         report_downloader = client.GetReportDownloader(version='v201309')
>         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'
>                   }
>
>         print report_downloader.DownloadReport(report)
>
>
>
> I am getting this error 
>
> ==============================================================================
> raise MissingPackageError(msg)
> adspygoogle.common.Errors.MissingPackageError: PyXML v0.8.3 or newer is 
> required.
>
> ==============================================================================
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to