Thanks for the insight, Eric.
I read through the SOAP error, but couldn't glean the problem (only that the
Add operation was not permitted):
[faultstring] => [OperationAccessDenied.ADD_OPERATION_NOT_PERMITTED @
operations[0]]
[faultcode] => soap:Server
[detail] => stdClass Object
(
[ApiExceptionFault] => stdClass Object
(
[message] =>
[OperationAccessDenied.ADD_OPERATION_NOT_PERMITTED @ operations[0]]
[ApplicationException.Type] => ApiException
[errors] => SoapVar Object
(
[enc_type] => 0
[enc_value] => OperationAccessDenied Object
(
[reason] => ADD_OPERATION_NOT_PERMITTED
[fieldPath] => operations[0]
[trigger] =>
[ApiErrorType] => OperationAccessDenied
[_parameterMap:private] => Array
(
[ApiError.Type] => ApiErrorType
)
)
[enc_stype] => OperationAccessDenied
[enc_ns] =>
https://adwords.google.com/api/adwords/cm/v200909
)
)
)
Unfortunately, I don't know why it's being denied.
I have my clientEmail active, set as:
auth.ini: clientEmail = "[email protected]"
(yes, the email was changed to protect the innocent), and I'm using the sandbox:
settings.ini: DEFAULT_SERVER = "https://adwords-sandbox.google.com"
---------------
The error that I get in my soap_xml.log is interesting in that it is using the
wrong developer token; I have [email protected] in my auth.ini file:
developerToken = "[email protected]++usd"
... but it's showing up as my email address in the developerToken:
[Feb 16 2010 12:41:04.000000 - INFO] POST
/api/adwords/cm/v200909/CampaignService HTTP/1.1
Host: adwords-sandbox.google.com
Connection: Keep-Alive
User-Agent: PHP-SOAP/5.2.6
Content-Type: text/xml; charset=utf-8
SOAPAction: ""
Content-Length: 1361
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="https://adwords.google.com/api/adwords/cm/v200909"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Header>
<ns1:RequestHeader xsi:type="ns1:RequestHeader">
<ns1:applicationToken>knowledgevine</ns1:applicationToken>
<ns1:authToken>*****</ns1:authToken>
<ns1:developerToken>[email protected]++usd</ns1:developerToken>
<ns1:userAgent>PHP v5.2.6 - AdWords API PHP Client Library - v1.2.2 -
KnowledgeVine</ns1:userAgent>
</ns1:RequestHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:mutate xsi:type="mutate">
<ns1:operations xsi:type="ns1:CampaignOperation">
<ns1:operator>ADD</ns1:operator>
<ns1:operand xsi:type="ns1:Campaign">
<ns1:name>Interplanetary Cruise #1266352864</ns1:name>
<ns1:status>PAUSED</ns1:status>
<ns1:budget xsi:type="ns1:Budget">
<ns1:period>DAILY</ns1:period>
<ns1:amount xsi:type="ns1:Money">
<ns1:microAmount>50000000</ns1:microAmount>
</ns1:amount>
<ns1:deliveryMethod>STANDARD</ns1:deliveryMethod>
</ns1:budget>
<ns1:biddingStrategy xsi:type="ns1:ManualCPC" />
</ns1:operand>
</ns1:operations>
</ns1:mutate>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<ResponseHeader xmlns="https://adwords.google.com/api/adwords/cm/v200909">
<requestId>631872c17b7de1e452f5fc7296173bd3</requestId>
<operations>1</operations>
<responseTime>343</responseTime>
<units>1</units>
</ResponseHeader>
</soap:Header>
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>[OperationAccessDenied.ADD_OPERATION_NOT_PERMITTED @
operations[0]]</faultstring>
<detail>
<ApiExceptionFault
xmlns="https://adwords.google.com/api/adwords/cm/v200909">
<message>[OperationAccessDenied.ADD_OPERATION_NOT_PERMITTED @
operations[0]]</message>
<ApplicationException.Type>ApiException</ApplicationException.Type>
<errors xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="OperationAccessDenied">
<fieldPath>operations[0]</fieldPath>
<trigger />
<ApiError.Type>OperationAccessDenied</ApiError.Type>
<reason>ADD_OPERATION_NOT_PERMITTED</reason>
</errors>
</ApiExceptionFault>
</detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>
---------------
I checked the request_info.log as well and saw pretty much the same thing in a
shorter form:
[Feb 16 2010 12:41:04.000000 - INFO] [email protected]
[email protected] service=CampaignService method=mutate
operators={ADD: 1} responseTime=343 requestId=631872c17b7de1e452f5fc7296173bd3
operations=1 units=1 server=adwords-sandbox.google.com isFault=true
faultMessage=[OperationAccessDenied.ADD_OPERATION_NOT_PERMITTED @ operations[0]]
---------------
I've also tried doing a Get using the live server:
settings.ini: DEFAULT_SERVER = "https://adwords.google.com"
I'm afraid I'm not adept at SOAP debugging, so I'm completely in the dark at
this point.
Thanks again for your help, Eric.
Cameron Knowlton
At 9:58 AM -0800 10/02/16, AdWords API Advisor wrote:
>Hi Cameron,
>
>This error is usually generated when attempting to add a campaign to
>an MCC account, usually because a clientEmail header isn't specified.
>Your configuration appears to be fine (both clientId or clientEmail
>will work), have you taken a look at the SOAP XML logs? Is the header
>being set correctly?
>
>Best,
>- Eric Koleda, AdWords API Team
>
>On Feb 16, 11:56 am, iGods <[email protected]> wrote:
>> is *anyone* using the PHP v2009 API? I'm guessing that it was released
>> prematurely and doesn't work at all.
>>
>> perhaps v13 was sunsetted too early? I'm really surprised that Google
>> would come out with such a defective interface.
>>
>> Cameron Knowlton
>>
>> On Feb 12, 1:01 pm, iGods <[email protected]> wrote:
>>
>>
>>
>> > sorry for such a newbie question, but I'm having the problem adding a
>> > campaign to the sandbox. I notice this error has come up for others,
>> > but I thought I had my parameters setup correctly. I'm using the PHP
>> > library for api v2009.
>>
>> > email addresses have been changed to protect the innocent. this
>> > username (email) and password are valid, for a non-MCC account.
>>
>> > // in settings.ini:
>> > DEFAULT_SERVER = "https://adwords-sandbox.google.com"
>>
>> > // in auth.ini (I tried adding clientEmail below just for fun, but
>> > that didn't help either):
> > > email = "[email protected]"
>> > password = "secretagent"
>> > userAgent = "MyPPCapp"
>> > applicationToken = "myppcapp"
>> > developerToken = "[email protected]++usd"
>>
>> > ; Uncomment to make requests against a client account.
>> > clientId = "[email protected]"
>> > clientEmail = "[email protected]"
>>
>> > I've tried this with clientID and clientEmail disabled, enabled, and
>> > all combinations, but no luck. I seem to be able to query the example
>> > with GetAllCampaigns.php (I'm thinking it just times out, but it does
>> > correctly report that there are no campaigns), but when I try the
>> > example AddCampaign.php I end up with the error:
>>
>> > [message:protected] =>
>> > [OperationAccessDenied.ADD_OPERATION_NOT_PERMITTED @ operations[0]]
>>
>> > I've read the previous responses to this, but couldn't divine the
>> > answer. What have I overlooked here?
>>
>> > thanks in advance,
> > > Cameron
>
--
Cameron Knowlton
KnowledgeVine SEO Dashboards
[email protected]
P: 250.382.0226
http://www.knowledgevine.net
--
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.