Forum Moderators: open
"SOAP Fault: This user is not authorized to use Ads NetAPI. for input "#*$!@xxxxxx.com" (Error Code 4)"
Anyone have any idea how long before I have API access? I assumed it would be immediate ...
Google support says there's no support for this except to read the FAQ, the Developer's Guide, the demo scripts (LOL) and the AdWords FAQ ... none of which mention this.
Since it's a beta program, G doesn't answer questions about silly things like getting authorized by them to use the API. Oddly, there is no mechanism to submit beta trouble reports, but G says it's beta ... so it must be.
Searching the web and newsgroups for that error turns up only your thread and one I'm in in the Google Groups Google API group. Two mentions in all the web.
Please post if you find out anything. There are at least three of us in the same boat.
Simply adding "echo print_r($client)" to the page shows the problem.
Here's a snippet:
soapclient Object ( [title] => NuSOAP [version] => 0.6.8 [revision] => $Revision: 1.82 $ [error_str] => [b]HTTP Error: CURL Extension, or OpenSSL extension w/ PHP version >= 4.3 is required for HTTPS[/b] [debug_str] => etc. Of course, the WSDL uses the HTTPS protocol.
Here's what I suggested be added to the API Developer's section:
"In order to use PHP for accessing the API, you need to have either cURL or OpenSSL installed and your PHP installation version 4.3 or higher needs to be compiled '--with-curl=[DIR]' or '--with-openssl=[DIR]'."
cURL [curl.haxx.se], OpenSSL [openssl.org], PHP Manual: cURL [us3.php.net], PHP Manual: OpenSSL [us3.php.net]
That is all. (I haven't re-run the demo with the nusoap v1.87, but I figure it'll be the same.) Yeesh!
<edit>Undoubtedly there are similar requirements for using PERL, XML, Java or .NET.</edit>
It's pretty useful to add this to your PHP/SOAP tests:
echo print_r($client->error_str); Everything after that is the debug_msg, anyway, as it tries to make the connection and so on regardless of initial errors. :) No error = no error_str.
The full
print_r($client) output is interesting, as it shows you all of the elements of the request array (like [error_str]). FYI.