Hi, You can check the status of your developer token in the AdWords web interface. Log in with your MCC credentials and go to "My Account" -> "AdWords API Center". Alerts at the top of the screen will let you know if there are any problems with your tokens.
Best, - Eric Koleda, AdWords API Team On Aug 21, 9:08 pm, "[email protected]" <[email protected]> wrote: > I'm not sure what happened, but it looks like my token somehow got > disabled or expired? I ran into the problem today as I was testing and > everything was working yesterday, but then I tried today and nothing > works anymore. I even went through the Adwords example code and > modified to add my credentials and it still didn't work. Here is the > code: > > #!/usr/bin/ruby > # > # Copyright 2009, Google Inc. All Rights Reserved. > # > # Licensed under the Apache License, Version 2.0 (the "License"); > # you may not use this file except in compliance with the License. > # You may obtain a copy of the License at > # > # http://www.apache.org/licenses/LICENSE-2.0 > # > # Unless required by applicable law or agreed to in writing, software > # distributed under the License is distributed on an "AS IS" BASIS, > # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or > implied. > # See the License for the specific language governing permissions and > # limitations under the License. > # > # This code sample illustrates how to fetch all the client accounts > under an > # MCC account, and then iteratively retrieves information about each > account. > > require 'rubygems' > gem 'soap4r', '= 1.5.8' > require 'adwords4r' > > def main > begin > # AdWords::AdWordsCredentials.new will read a credentials file > from > # ENV['HOME']/adwords.properties when called without parameters. > # The latest versioned release of the API will be assumed. > # > # Credentials can be either for the production or Sandbox > environments. > # Production environment credentials overview: > #http://www.google.com/apis/adwords/developer/index.html > # Sandbox environment credentials overview: > #http://www.google.com/apis/adwords/developer/adwords_api_sandbox.html > # > # Instead of reading them from a file, the credentials can be > # specified inline as a hash: > # > # creds = { > # 'developerToken' => '[email protected]++usd', > # 'useragent' => 'Sample User Agent', > # 'password' => 'password', > # 'email' => '[email protected]', > # 'clientEmail' => '[email protected]', > # 'applicationToken' => 'IGNORED', > # 'environment' => 'SANDBOX', > # } > # adwords = AdWords::API.new(AdWords::AdWordsCredentials.new > (creds)) > adwords = AdWords::API.new(AdWords::AdWordsCredentials.new( > 'useragent' => 'my user agent', > 'developerToken' => '***mytoken***', > 'applicationToken' => '***mytoken***, > 'password' => 'mypass', > 'email' => 'myemail, > 'clientEmail' => 'myemail' > )) > > # Clear out the clientEmail header temporarily so that we run > under the > # context of the MCC user. > adwords.credentials.set_header('clientEmail', '') > > account_srv = adwords.get_service(13, 'Account') > client_accounts = account_srv.getClientAccounts > > if client_accounts.length > 0 then > client_accounts.each do |client_account| > # Set the clientEmail header to each account's login email so > that API > # calls are made in the context of that account. > adwords.credentials.set_header('clientEmail', client_account) > account_info = account_srv.getAccountInfo.getAccountInfoReturn > > puts 'Client Email: %s' % client_account > if ! account_info.descriptiveName.empty? then > puts 'Client Name: %s' % account_info.descriptiveName > end > puts 'Client ID: %s' % account_info.customerId > puts > end > else > puts 'There are no client accounts beneath this account.' > end > > rescue Errno::ECONNRESET, SOAP::HTTPStreamError, SocketError => e > # This exception indicates a connection-level error. > # In general, it is likely to be transitory. > puts 'Connection Error: %s' % e > puts 'Source: %s' % e.backtrace.first > > rescue AdWords::Error::UnknownAPICall => e > # This exception is thrown when an unknown SOAP method is invoked. > puts e > puts 'Source: %s' % e.backtrace.first > > rescue AdWords::Error::ApiError => e > # This exception maps to receiving a SOAP Fault back from the > service. > # The e.soap_faultstring_ex, e.code_ex, and potentially > e.trigger_ex > # attributes are the most useful, but other attributes may be > populated > # as well. To display all attributes, the following can be used: > # > # e.instance_variables.each do |var| > # value = e.instance_variable_get(var) > # if ! value.nil? > # puts '%s => %s' % [var, value] > # end > # end > puts 'SOAP Error: %s (code: %d)' % [e.soap_faultstring_ex, > e.code_ex] > puts 'Trigger: %s' % e.trigger_ex unless e.trigger_ex.nil? > puts 'Source: %s' % e.backtrace.first > > ensure > # Display API unit usage info. This data is stored as a class > variable > # in the AdWords::API class and accessed via static methods. > # total_units() returns a running total of units used in the scope > of the > # current program. last_units() returns the number used in the > last call. > # puts > # puts '%d API units consumed total (%d in last call).' % > # [adwords.total_units, adwords.last_units] > end > end > > if __FILE__ == $0 > # The adwords4r library can log all SOAP requests and responses to > files. > # This is often useful for debugging purposes. > # To enable this, set the ADWORDS4R_DEBUG environement varaible to > 'true'. > # This can be done either from your operating system environment or > via > # code, as done below. > ENV['ADWORDS4R_DEBUG'] = 'false' > > main > end > > It gave me this error: > > SOAP Error: The developer token is invalid. (code: 42) > Trigger: mytoken > Source: grr.rb:64:in `main' > > Obviously I took my token out of this message. :) > > Anyone know what's up?? --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
