isExemptable does not become false

2017-09-13 Thread Hideichi Saito
https://github.com/googleads/googleads-php-lib/blob/master/examples/AdWords/v201705/ErrorHandling/HandlePolicyViolationError.php
In this sample code, I am testing to get an error.

Despite sending the title where an error occurs,
PolicyViolationError.isExemptable = true
The second mutate will be executed and an error will result.

In other words,
"All the operations were invalid with non-exemptable errors. \ N"
It will not be.

If expected behavior can not be exempted from application, no policy 
exemption request is made,
ExternalPolicyDescription, ExternalPolicyName, ViolatingText
And so on.

Help me.

[2017-09-13 18:44:13] AW_SOAP.WARNING: clientCustomerId=000-000- 
operations=0 service=AdGroupAdService method=mutate responseTime=275 
requestId=000 server=adwords.google.com 
isFault=1 
faultMessage=[PolicyViolationError{super=PolicyViolationError.POLICY_ERROR 
@ operations[0].operand.ad.headlinePart2, 
key=PolicyViolationKey{policyName=nonstandard_punctuation,violatingText=!!}, 
externalPolicyName=句点記, externalPolicyUrl=, 
externalPolicyDescription=Google 広で、次よに読や号過に無味)使こは可れせ。広見し感符使こや1 
つ広で数感符使こ句点記をりすと「無!!!」な)本とな意合で字使こ(「39セルな)一的使さな記(「~」、「*」な)をうとな、企名含れ場や業の準な用法「5*
 
ホルな)に当る合除)https://support.google.com/adwordspolicy/answer/6021546#048"; 
target="_blank">ポシ全をる/a>, isExemtable=true, violatingParts=[Part{index=10, 
length=2}]}, PolicyViolationError{super=PolicyViolationError.POLICY_ERROR @ 
operations[0].operand.ad.headlinePart2, 
key=PolicyViolationKey{policyName=nonstandard_punctuation,violatingText=WEB広も時稿!},
 
externalPolicyName=句点記, externalPolicyUrl=, 
externalPolicyDescription=Google 広で、次よに読や号過に無味)使こは可れせ。広見し感符使こや1 
つ広で数感符使こ句点記をりすと「無!!!」な)本とな意合で字使こ(「39セルな)一的使さな記(「~」、「*」な)をうとな、企名含れ場や業の準な用法「5*
 
ホルな)に当る合除)https://support.google.com/adwordspolicy/answer/6021546#048"; 
target="_blank">ポシ全をる/a>, isExemtable=true, violatingParts=[Part{index=0, 
length=12}]}, PolicyViolationError{super=PolicyViolationError.POLICY_ERROR 
@ operations[0].operand.ad.finalUrls, 
key=PolicyViolationKey{policyName=weapons,violatingText=bazooka}, 
externalPolicyName=Google AdWords, externalPolicyUrl=, 
externalPolicyDescription=こ広まはーーは掲前審をけ必がりす, isExemtable=true, 
violatingParts=[Part{index=3, length=7}]}]  
[2017-09-13 18:44:13] AW_SOAP.NOTICE: POST 
/api/adwords/cm/v201705/AdGroupAdService?wsdl HTTP/1.1
Host: adwords.google.com
Connection: close
User-Agent: PHP-SOAP/5.6.31
Content-Type: text/xml; charset=utf-8
SOAPAction: ""
Content-Length: 1209
Authorization: REDACTED


http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:ns1="https://adwords.google.com/api/adwords/cm/v201705"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>000-000-REDACTEDEXSAMPLE
 
(AwApi-PHP, googleads-php-lib/29.0.0, 
PHP/5.6.31)truefalseADD000https://exsample.com/about高力レリーPRバーWEB広も時稿!無でレリー配&WEB広出新ースPRバー」をリス/ns1:description>

HTTP/1.1 500 Internal Server Error
Content-Type: text/xml; charset=UTF-8
Date: Wed, 13 Sep 2017 09:44:13 GMT
Expires: Wed, 13 Sep 2017 09:44:13 GMT
Cache-Control: private, max-age=0
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Server: GSE
Alt-Svc: quic=":443"; ma=2592000; v="39,38,37,35"
Accept-Ranges: none
Vary: Accept-Encoding
Connection: close

http://schemas.xmlsoap.org/soap/envelope/";>https://adwords.google.com/api/adwords/cm/v201705";>000AdGroupAdServicemutate0275soap:Server[PolicyViolationError{super=PolicyViolationError.POLICY_ERROR
 
@ operations[0].operand.ad.headlinePart2, 
key=PolicyViolationKey{policyName=nonstandard_punctuation,violatingText=!!}, 
externalPolicyName=句読点と記号, externalPolicyUrl=, 
externalPolicyDescription=Google 広告では、次 のように句読点や記号を過剰に(無意味に)使うことは許可されません。
  • 広告見出しで感嘆符を使うことや、1 つの広告で複数の感嘆符を使うこと
  • 句読点や記号を繰り返すこと(「無料!!!」など)
  • 本来と異なる意味合いで文字を使うこと(「39セール」など)
  • 一般的に使用されない記号(「~」、「*」など)を使うこと(なお、企業名に含まれる場合や、業界の標準的な使用方法(「5* ホテル」など)に該当する場合を除く)
ポリシー全文を見る, isExemtable=true, violatingParts=[Part{index=10, length=2}]}, PolicyViolationError{super=PolicyViolationError.POLICY_ERROR @ operations[0].operand.ad.headlinePart2, key=PolicyViolationKey{policyName=nonstandard_punctuation,violatingText=WEB広告も同時出稿!!}, externalPolicyName=句読点と記号, externalPolicyUrl=, externalPolicyDescription=Google 広告では、次のように句読点や記号を過剰に(無意味に)使うことは許可されません。
  • 広告見出しで感嘆符を使うことや、1 つの広告で複数の感嘆符を使うこと
  • 句読点や記号を繰り返すこと(「無料!!!」など)
  • 本来と異なる意味合いで文字を使うこと(「39セール」など)
  • 一般的に使用されない記号(「~」、「*」など)を使うこと(なお、企業名に含まれる場合や、業界の標準的な使用方法(「5* ホテル」など)に該当する場合を除く)
ポリシー全文を見る, isExemtable=true, violatingParts=[Part{index=0, length=12}]}, PolicyViolationError{super=PolicyViolationError.POLICY_ERROR @ operations[0].operand.ad.finalUrls, key=PolicyViolationKey{policyName=weapons,violatingText

Re: isExemptable does not become false

2017-09-14 Thread Hideichi Saito
Thank you for your reply.

https://github.com/googleads/googleads-php-lib/blob/master/examples/AdWords/v201705/ErrorHandling/HandlePolicyViolationError.php
This sample is the first mutate, and if PolicyViolationError.isExemptable = 
true, ExemptionRequest is possible.
Although I understand that it is a sample called 
PolicyViolationError.isExemptable = true, an error occurs with the second 
mutate.

Because it is google translation, please forgive me that it is difficult to 
understand sentences.
It is briefly described as follows.

this sample code is,
if PolicyViolationError.isExemptable = true then ExemptionRequest 
executable.
but error. 


2017年9月14日木曜日 16時42分17秒 UTC+9 Peter Oliquino:
>
> Hi Hideichi,
>
> Please correct my understanding if I am wrong. Could you confirm if my 
> understanding is correct that you initially sent a request to create ads 
> that you expect to be *isExemptable = false* but got an *isExemptable = 
> true* response instead? If my understanding is indeed correct, then I'm 
> afraid that identifying which values would pass or not pass the policies of 
> AdWords is already out of scope for our team.
>
> I would recommend that you consult with the product experts at the AdWords 
> Community Forum 
> 
>  in 
> order to identify which values would trigger an *isExemptable = false* as 
> response. However, if I misunderstood it correctly, please let me know so I 
> can provide a better and more correct response.
>
> Best regards,
> Peter
> AdWords API Team
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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 adwords-api@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
--- 
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 adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/0cfed1d7-8efa-42c7-bbb1-feed52ee41a0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: isExemptable does not become false

2017-09-14 Thread Hideichi Saito
Thank you for your reply.

I am sorry that the explanation is insufficient.
Yes, I understand that there are two policy violations.

One policy violation is for the word bazooka.
PolicyViolationError.isExemptable = true, this is as expected.

One policy violation is for the !!.
PolicyViolationError.isExemptable = true, this is disappointing.
I think that it can not be exempted from application, so I want you to 
return false.

As a result, I understand that it is an error in the second mutate.


2017年9月15日金曜日 0時38分21秒 UTC+9 Nadine Sundquist (AdWords API Team):
>
> Greetings!
>
> I think I may have found why this isn't working as expected. In the error, 
> it is saying that the violation is the *!!* in the ad text. When the 
> exemption request is sent, it does not mention the '!!'. It mentions the 
> word *bazooka, *but there is no exemption being passed in for the *!!*. 
> Can you please make sure that you have 1 exemption request for each policy 
> violation. You have 2 policy violations here that can be exempted.
>
>- One policy violation is for the word *bazooka*.
>- One policy violation is for the *!!*.
>
> ADD<
> ns1:operand>000 xsi:type="ns1:ExpandedTextAd">https://exsample.com/about 
> <https://www.google.com/url?q=https%3A%2F%2Fexsample.com%2Fabout&sa=D&sntz=1&usg=AFQjCNFnHma4lamYGaKw2z-l56K3nRYvFw>
> 高火力プレスリリースPRバズーカ headlinePart1>WEB広告も同時出稿!! description>無料でプレスリリース配信&WEB広告出稿新サービス「PRバズーカ」をリリース ns1:description><
> ns1:policyName>weapons
> bazooka operations>
>
>
> Please try adding an exemption request for all the policy violations. If 
> you still experience issues, please get back to me.
>
> Best,
> Nadine, AdWords API Team
>
> On Thursday, September 14, 2017 at 4:35:56 AM UTC-4, Hideichi Saito wrote:
>>
>> Thank you for your reply.
>>
>>
>> https://github.com/googleads/googleads-php-lib/blob/master/examples/AdWords/v201705/ErrorHandling/HandlePolicyViolationError.php
>> This sample is the first mutate, and if PolicyViolationError.isExemptable 
>> = true, ExemptionRequest is possible.
>> Although I understand that it is a sample called 
>> PolicyViolationError.isExemptable = true, an error occurs with the second 
>> mutate.
>>
>> Because it is google translation, please forgive me that it is difficult 
>> to understand sentences.
>> It is briefly described as follows.
>>
>> this sample code is,
>> if PolicyViolationError.isExemptable = true then ExemptionRequest 
>> executable.
>> but error. 
>>
>>
>> 2017年9月14日木曜日 16時42分17秒 UTC+9 Peter Oliquino:
>>>
>>> Hi Hideichi,
>>>
>>> Please correct my understanding if I am wrong. Could you confirm if my 
>>> understanding is correct that you initially sent a request to create ads 
>>> that you expect to be *isExemptable = false* but got an *isExemptable = 
>>> true* response instead? If my understanding is indeed correct, then I'm 
>>> afraid that identifying which values would pass or not pass the policies of 
>>> AdWords is already out of scope for our team.
>>>
>>> I would recommend that you consult with the product experts at the AdWords 
>>> Community Forum 
>>> <https://www.en.advertisercommunity.com/t5/Google-AdWords/ct-p/Google_AdWords#>
>>>  in 
>>> order to identify which values would trigger an *isExemptable = false* as 
>>> response. However, if I misunderstood it correctly, please let me know so I 
>>> can provide a better and more correct response.
>>>
>>> Best regards,
>>> Peter
>>> AdWords API Team
>>>
>>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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 adwords-api@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
--- 
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 adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/8b19673b-ad42-4abd-a73b-67d3dca33b41%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: isExemptable does not become false

2017-09-16 Thread Hideichi Saito
ieldPathElement)#121 (2) {
  ["field":protected]=>
  string(2) "ad"
  ["index":protected]=>
  NULL
}
[3]=>
object(Google\AdsApi\AdWords\v201705\cm\FieldPathElement)#130 (2) {
  ["field":protected]=>
  string(13) "headlinePart2"
  ["index":protected]=>
  NULL
}
  }
  ["trigger":protected]=>
  string(0) ""
  ["errorString":protected]=>
  string(33) "PolicyViolationError.POLICY_ERROR"
  ["ApiErrorType":protected]=>
  string(20) "PolicyViolationError"
  ["parameterMap":"Google\AdsApi\AdWords\v201705\cm\ApiError":private]=>
  array(1) {
["ApiError.Type"]=>
string(12) "ApiErrorType"
  }
}


object(Google\AdsApi\AdWords\v201705\cm\PolicyViolationError)#132 (12) {
  ["key":protected]=>
  object(Google\AdsApi\AdWords\v201705\cm\PolicyViolationKey)#142 (2) {
["policyName":protected]=>
string(7) "weapons"
["violatingText":protected]=>
string(7) "bazooka"
  }
  ["externalPolicyName":protected]=>
  string(14) "Google AdWords"
  ["externalPolicyUrl":protected]=>
  string(0) ""
  ["externalPolicyDescription":protected]=>
  string(96) "こ広まはーーは掲前審をけ必がりす"
  ["isExemptable":protected]=>
  bool(true)
  ["violatingParts":protected]=>
  array(1) {
[0]=>
object(Google\AdsApi\AdWords\v201705\cm\PolicyViolationErrorPart)#134 
(2) {
  ["index":protected]=>
  int(3)
  ["length":protected]=>
  int(7)
}
  }
  ["fieldPath":protected]=>
  string(34) "operations[0].operand.ad.finalUrls"
  ["fieldPathElements":protected]=>
  array(4) {
[0]=>
object(Google\AdsApi\AdWords\v201705\cm\FieldPathElement)#133 (2) {
  ["field":protected]=>
  string(10) "operations"
  ["index":protected]=>
  int(0)
}
[1]=>
object(Google\AdsApi\AdWords\v201705\cm\FieldPathElement)#147 (2) {
  ["field":protected]=>
  string(7) "operand"
  ["index":protected]=>
  NULL
}
    [2]=>
object(Google\AdsApi\AdWords\v201705\cm\FieldPathElement)#145 (2) {
  ["field":protected]=>
  string(2) "ad"
  ["index":protected]=>
  NULL
}
[3]=>
object(Google\AdsApi\AdWords\v201705\cm\FieldPathElement)#148 (2) {
  ["field":protected]=>
  string(9) "finalUrls"
  ["index":protected]=>
  NULL
}
  }
  ["trigger":protected]=>
  string(0) ""
  ["errorString":protected]=>
  string(33) "PolicyViolationError.POLICY_ERROR"
  ["ApiErrorType":protected]=>
  string(20) "PolicyViolationError"
  ["parameterMap":"Google\AdsApi\AdWords\v201705\cm\ApiError":private]=>
  array(1) {
["ApiError.Type"]=>
string(12) "ApiErrorType"
  }





2017年9月15日金曜日 23時10分48秒 UTC+9 Nadine Sundquist (AdWords API Team):
>
> Hello,
>
> I noticed when you send the exemption request, you only send 1 exemption 
> request for bazooka. When you sent the second mutate, you should have sent 
> two exemption requests at the same time. One exemption request should have 
> been for bazooka and the other should have been for !!. Could you please 
> try sending two exemption requests for that one ad at the same time? If you 
> still have issues after doing that, please get back to me.
>
> Thanks,
> Nadine, AdWords API Team
>
> On Thursday, September 14, 2017 at 8:37:37 PM UTC-4, Hideichi Saito wrote:
>>
>> Thank you for your reply.
>>
>> I am sorry that the explanation is insufficient.
>> Yes, I understand that there are two policy violations.
>>
>> One policy violation is for the word bazooka.
>> PolicyViolationError.isExemptable = true, this is as expected.
>>
>> One policy violation is for the !!.
>> PolicyViolationError.isExemptable = true, this is disappointing.
>> I think that it can not be exempted from application, so I want you to 
>> return false.
>>
>> As a result, I understand that it is an error in the second mutate.
>>
>>
>> 2017年9月15日金曜日 0時38分21秒 UTC+9 Nadine Sundquist (AdWords API Team):
>>>
>>> Greetings!
>>>
>>> I think I may have found why this isn't working as expected. In the 
>>> error, it is saying that the violation is the *!!* in the ad text. When 
>>> the exemption request is sent, it does not mention the '!!&#x

Re: isExemptable does not become false

2017-09-16 Thread Hideichi Saito
FieldPathElement)#121 (2) {
  ["field":protected]=>
  string(2) "ad"
  ["index":protected]=>
  NULL
}
[3]=>
object(Google\AdsApi\AdWords\v201705\cm\FieldPathElement)#130 (2) {
  ["field":protected]=>
  string(13) "headlinePart2"
  ["index":protected]=>
  NULL
}
  }
  ["trigger":protected]=>
  string(0) ""
  ["errorString":protected]=>
  string(33) "PolicyViolationError.POLICY_ERROR"
  ["ApiErrorType":protected]=>
  string(20) "PolicyViolationError"
  ["parameterMap":"Google\AdsApi\AdWords\v201705\cm\ApiError":private]=>
  array(1) {
["ApiError.Type"]=>
string(12) "ApiErrorType"
  }
}

object(Google\AdsApi\AdWords\v201705\cm\PolicyViolationError)#132 (12) {
  ["key":protected]=>
  object(Google\AdsApi\AdWords\v201705\cm\PolicyViolationKey)#142 (2) {
["policyName":protected]=>
string(7) "weapons"
["violatingText":protected]=>
string(7) "bazooka"
  }
  ["externalPolicyName":protected]=>
  string(14) "Google AdWords"
  ["externalPolicyUrl":protected]=>
  string(0) ""
  ["externalPolicyDescription":protected]=>
  string(96) "こ広まはーーは掲前審をけ必がりす"
  ["isExemptable":protected]=>
  bool(true)
  ["violatingParts":protected]=>
  array(1) {
[0]=>
object(Google\AdsApi\AdWords\v201705\cm\PolicyViolationErrorPart)#134 
(2) {
  ["index":protected]=>
  int(3)
  ["length":protected]=>
  int(7)
}
  }
  ["fieldPath":protected]=>
  string(34) "operations[0].operand.ad.finalUrls"
  ["fieldPathElements":protected]=>
  array(4) {
[0]=>
object(Google\AdsApi\AdWords\v201705\cm\FieldPathElement)#133 (2) {
  ["field":protected]=>
  string(10) "operations"
  ["index":protected]=>
  int(0)
}
[1]=>
object(Google\AdsApi\AdWords\v201705\cm\FieldPathElement)#147 (2) {
  ["field":protected]=>
  string(7) "operand"
  ["index":protected]=>
  NULL
    }
    [2]=>
object(Google\AdsApi\AdWords\v201705\cm\FieldPathElement)#145 (2) {
  ["field":protected]=>
  string(2) "ad"
  ["index":protected]=>
  NULL
}
[3]=>
object(Google\AdsApi\AdWords\v201705\cm\FieldPathElement)#148 (2) {
  ["field":protected]=>
  string(9) "finalUrls"
  ["index":protected]=>
  NULL
}
  }
  ["trigger":protected]=>
  string(0) ""
  ["errorString":protected]=>
  string(33) "PolicyViolationError.POLICY_ERROR"
  ["ApiErrorType":protected]=>
  string(20) "PolicyViolationError"
  ["parameterMap":"Google\AdsApi\AdWords\v201705\cm\ApiError":private]=>
  array(1) {
["ApiError.Type"]=>
string(12) "ApiErrorType"
  }
}




2017年9月15日金曜日 23時10分48秒 UTC+9 Nadine Sundquist (AdWords API Team):
>
> Hello,
>
> I noticed when you send the exemption request, you only send 1 exemption 
> request for bazooka. When you sent the second mutate, you should have sent 
> two exemption requests at the same time. One exemption request should have 
> been for bazooka and the other should have been for !!. Could you please 
> try sending two exemption requests for that one ad at the same time? If you 
> still have issues after doing that, please get back to me.
>
> Thanks,
> Nadine, AdWords API Team
>
> On Thursday, September 14, 2017 at 8:37:37 PM UTC-4, Hideichi Saito wrote:
>>
>> Thank you for your reply.
>>
>> I am sorry that the explanation is insufficient.
>> Yes, I understand that there are two policy violations.
>>
>> One policy violation is for the word bazooka.
>> PolicyViolationError.isExemptable = true, this is as expected.
>>
>> One policy violation is for the !!.
>> PolicyViolationError.isExemptable = true, this is disappointing.
>> I think that it can not be exempted from application, so I want you to 
>> return false.
>>
>> As a result, I understand that it is an error in the second mutate.
>>
>>
>> 2017年9月15日金曜日 0時38分21秒 UTC+9 Nadine Sundquist (AdWords API Team):
>>>
>>> Greetings!
>>>
>>> I think I may have found why this isn't working as expected. In the 
>>> error, it is saying that the violation is the *!!* in the ad text. When 
>>> the exemption request is sent, it does not mention the '!!&#x

Re: isExemptable does not become false

2017-09-18 Thread Hideichi Saito
thank you for your reply.

Yes. Only one exception request is sent.

As shown in var_dump ($ error);
PolicyViolationError.isExemptable, is true.

I will attach the contents of $ operations.
https://github.com/googleads/googleads-php-lib/blob/master/examples/AdWords/v201705/ErrorHandling/HandlePolicyViolationError.php
line:129. Set up and get var_dump ($operations);

array(1) {
  [0]=>
  object(Google\AdsApi\AdWords\v201705\cm\AdGroupAdOperation)#117 (5) {
["operand":protected]=>
object(Google\AdsApi\AdWords\v201705\cm\AdGroupAd)#116 (8) {
  ["adGroupId":protected]=>
  string(11) "47899933378"
  ["ad":protected]=>
  object(Google\AdsApi\AdWords\v201705\cm\ExpandedTextAd)#113 (18) {
["headlinePart1":protected]=>
string(44) "高力レリーPRバー"
["headlinePart2":protected]=>
string(26) "WEB広も時稿!"
["description":protected]=>
string(104) "無でレリー配&WEB広出新ースPRバー」をリス
["path1":protected]=>
NULL
["path2":protected]=>
NULL
["id":protected]=>
NULL
["url":protected]=>
NULL
["displayUrl":protected]=>
NULL
["finalUrls":protected]=>
array(1) {
  [0]=>
  string(28) "https://pr-bazooka.com/about";
}
["finalMobileUrls":protected]=>
NULL
["finalAppUrls":protected]=>
NULL
["trackingUrlTemplate":protected]=>
NULL
["urlCustomParameters":protected]=>
NULL
["urlData":protected]=>
NULL
["type":protected]=>
NULL
["devicePreference":protected]=>
NULL
["AdType":protected]=>
NULL
["parameterMap":"Google\AdsApi\AdWords\v201705\cm\Ad":private]=>
array(1) {
  ["Ad.Type"]=>
  string(6) "AdType"
}
  }
  ["status":protected]=>
  NULL
  ["policySummary":protected]=>
  NULL
  ["labels":protected]=>
  NULL
  ["baseCampaignId":protected]=>
  NULL
  ["baseAdGroupId":protected]=>
  NULL
  ["forwardCompatibilityMap":protected]=>
  NULL
}
["exemptionRequests":protected]=>
array(1) {
  [0]=>
  object(Google\AdsApi\AdWords\v201705\cm\ExemptionRequest)#150 (1) {
["key":protected]=>
object(Google\AdsApi\AdWords\v201705\cm\PolicyViolationKey)#142 (2) 
{
  ["policyName":protected]=>
  string(7) "weapons"
  ["violatingText":protected]=>
  string(7) "bazooka"
}
  }
}
["operator":protected]=>
string(3) "ADD"
["OperationType":protected]=>
NULL
["parameterMap":"Google\AdsApi\AdWords\v201705\cm\Operation":private]=>
array(1) {
  ["Operation.Type"]=>
  string(13) "OperationType"
}
  }
}




2017年9月19日火曜日 7時35分53秒 UTC+9 Nadine Sundquist (AdWords API Team):
>
> Hello,
>
> I want to make sure I understand your question. I see that you sent me the 
> response with each error. Each error says that it is exemptable. Are you 
> saying that the code example is only sending one of the exemptions, and it 
> is not sending all 3 of them?
>
> Regards,
> Nadine, AdWords API Team
>
> On Sunday, September 17, 2017 at 1:22:41 AM UTC-4, Hideichi Saito wrote:
>>
>> Many times, thank you for your reply.
>>
>> I was misunderstanding.
>> "!!", I thought that this exemption request can not be made.
>>
>> Then, another problem came up.
>> PolicyViolationError.isExemptable = true
>> Although it is true, it is not included in ExemptionRequest.
>>
>> Actually, there are three errors.
>>
>>
>> https://github.com/googleads/googleads-php-lib/blob/master/examples/AdWords/v201705/ErrorHandling/HandlePolicyViolationError.php
>> line:75. Set up and get var_dump ($ error);
>>
>> object(Google\AdsApi\AdWords\v201705\cm\PolicyViolationError)#141 (12) {
>>   ["key":protected]=>
>>   object(Google\AdsApi\AdWords\v201705\cm\PolicyViolationKey)#126 (2) {
>> ["policyName":protected]=>
>> string(23) "nonstandard_punctuation"
>> ["violatingText":protected]=>
>> string(2) "!!"
>>   }
>>   ["externalPolicyName":protected]=>

Re: isExemptable does not become false

2017-09-19 Thread Hideichi Saito
Thank you for your reply.
Thank you for your attentive response.

I will also test it repeatedly.


2017年9月20日水曜日 4時22分57秒 UTC+9 Nadine Sundquist (AdWords API Team):
>
> Greetings!
>
> Thanks for clarifying all of this. That does make sense. I'm not a PHP 
> expert, but it does look like the code is only including the first 
> exemption request for each ad. I'm getting in touch with our PHP client 
> library owner to verify that this is the case. I'll get back to you when I 
> get an answer.
>
> Regards,
> Nadine, AdWords API Team
>
> On Monday, September 18, 2017 at 8:34:34 PM UTC-4, Hideichi Saito wrote:
>>
>> thank you for your reply.
>>
>> Yes. Only one exception request is sent.
>>
>> As shown in var_dump ($ error);
>> PolicyViolationError.isExemptable, is true.
>>
>> I will attach the contents of $ operations.
>>
>> https://github.com/googleads/googleads-php-lib/blob/master/examples/AdWords/v201705/ErrorHandling/HandlePolicyViolationError.php
>> line:129. Set up and get var_dump ($operations);
>>
>> array(1) {
>>   [0]=>
>>   object(Google\AdsApi\AdWords\v201705\cm\AdGroupAdOperation)#117 (5) {
>> ["operand":protected]=>
>> object(Google\AdsApi\AdWords\v201705\cm\AdGroupAd)#116 (8) {
>>   ["adGroupId":protected]=>
>>   string(11) "47899933378"
>>   ["ad":protected]=>
>>   object(Google\AdsApi\AdWords\v201705\cm\ExpandedTextAd)#113 (18) {
>> ["headlinePart1":protected]=>
>> string(44) "高力レリーPRバー"
>> ["headlinePart2":protected]=>
>> string(26) "WEB広も時稿!"
>> ["description":protected]=>
>> string(104) "無でレリー配&WEB広出新ースPRバー」をリス
>> ["path1":protected]=>
>> NULL
>> ["path2":protected]=>
>> NULL
>> ["id":protected]=>
>> NULL
>> ["url":protected]=>
>> NULL
>> ["displayUrl":protected]=>
>> NULL
>> ["finalUrls":protected]=>
>> array(1) {
>>   [0]=>
>>   string(28) "https://pr-bazooka.com/about";
>> }
>> ["finalMobileUrls":protected]=>
>> NULL
>> ["finalAppUrls":protected]=>
>> NULL
>> ["trackingUrlTemplate":protected]=>
>> NULL
>> ["urlCustomParameters":protected]=>
>> NULL
>> ["urlData":protected]=>
>> NULL
>> ["type":protected]=>
>> NULL
>> ["devicePreference":protected]=>
>> NULL
>> ["AdType":protected]=>
>> NULL
>> ["parameterMap":"Google\AdsApi\AdWords\v201705\cm\Ad":private]=>
>> array(1) {
>>   ["Ad.Type"]=>
>>   string(6) "AdType"
>> }
>>   }
>>   ["status":protected]=>
>>   NULL
>>   ["policySummary":protected]=>
>>   NULL
>>   ["labels":protected]=>
>>   NULL
>>   ["baseCampaignId":protected]=>
>>   NULL
>>   ["baseAdGroupId":protected]=>
>>   NULL
>>   ["forwardCompatibilityMap":protected]=>
>>   NULL
>> }
>> ["exemptionRequests":protected]=>
>> array(1) {
>>   [0]=>
>>   object(Google\AdsApi\AdWords\v201705\cm\ExemptionRequest)#150 (1) {
>> ["key":protected]=>
>> object(Google\AdsApi\AdWords\v201705\cm\PolicyViolationKey)#142 
>> (2) {
>>   ["policyName":protected]=>
>>   string(7) "weapons"
>>   ["violatingText":protected]=>
>>   string(7) "bazooka"
>> }
>>   }
>> }
>> ["operator":protected]=>
>> string(3) "ADD"
>> ["OperationType":protected]=>
>> NULL
>> 
>> ["parameterMap":"Google\AdsApi\AdWords\v201705\cm\Operation":private]=>
>> array(1) {
>>   ["Operation.Type"]=>
>>   string(13) "OperationType"
>> }
>>   }
>> }
>>

Re: isExemptable does not become false

2017-09-21 Thread Hideichi Saito
Thank you for your reply.

Anyway, I will try to avoid the problem in a different way.
Thank you for your response.


2017年9月20日水曜日 22時36分59秒 UTC+9 Nadine Sundquist (AdWords API Team):
>
> Hi,
>
> I was able to confirm that you are totally correct. The example does only 
> go through the first exemption request. You'll have to modify the code to 
> include every exemption request. Right now, there is a line that says:
>
> $operation->setExemptionRequests(
>> [new ExemptionRequest($error->getKey())]);
>>
>
> That line of code only sets one exemption request per operation. In your 
> case, you need to pass multiple exemption requests by iterating over all 
> the exemption requests for that ad. In the meantime, we're looking at 
> fixing the example. It may take time to push a fix, so I would suggest 
> modifying your code. Thanks for pointing out the issue with our example!
>
> Regards,
> Nadine, AdWords API Team
>
> On Tuesday, September 19, 2017 at 6:47:46 PM UTC-4, Hideichi Saito wrote:
>>
>> Thank you for your reply.
>> Thank you for your attentive response.
>>
>> I will also test it repeatedly.
>>
>>
>> 2017年9月20日水曜日 4時22分57秒 UTC+9 Nadine Sundquist (AdWords API Team):
>>>
>>> Greetings!
>>>
>>> Thanks for clarifying all of this. That does make sense. I'm not a PHP 
>>> expert, but it does look like the code is only including the first 
>>> exemption request for each ad. I'm getting in touch with our PHP client 
>>> library owner to verify that this is the case. I'll get back to you when I 
>>> get an answer.
>>>
>>> Regards,
>>> Nadine, AdWords API Team
>>>
>>> On Monday, September 18, 2017 at 8:34:34 PM UTC-4, Hideichi Saito wrote:
>>>>
>>>> thank you for your reply.
>>>>
>>>> Yes. Only one exception request is sent.
>>>>
>>>> As shown in var_dump ($ error);
>>>> PolicyViolationError.isExemptable, is true.
>>>>
>>>> I will attach the contents of $ operations.
>>>>
>>>> https://github.com/googleads/googleads-php-lib/blob/master/examples/AdWords/v201705/ErrorHandling/HandlePolicyViolationError.php
>>>> line:129. Set up and get var_dump ($operations);
>>>>
>>>> array(1) {
>>>>   [0]=>
>>>>   object(Google\AdsApi\AdWords\v201705\cm\AdGroupAdOperation)#117 (5) {
>>>> ["operand":protected]=>
>>>> object(Google\AdsApi\AdWords\v201705\cm\AdGroupAd)#116 (8) {
>>>>   ["adGroupId":protected]=>
>>>>   string(11) "47899933378"
>>>>   ["ad":protected]=>
>>>>   object(Google\AdsApi\AdWords\v201705\cm\ExpandedTextAd)#113 (18) {
>>>> ["headlinePart1":protected]=>
>>>> string(44) "高力レリーPRバー"
>>>> ["headlinePart2":protected]=>
>>>> string(26) "WEB広も時稿!"
>>>> ["description":protected]=>
>>>> string(104) "無でレリー配&WEB広出新ースPRバー」をリス
>>>> ["path1":protected]=>
>>>> NULL
>>>> ["path2":protected]=>
>>>> NULL
>>>> ["id":protected]=>
>>>> NULL
>>>> ["url":protected]=>
>>>> NULL
>>>> ["displayUrl":protected]=>
>>>> NULL
>>>> ["finalUrls":protected]=>
>>>> array(1) {
>>>>   [0]=>
>>>>   string(28) "https://pr-bazooka.com/about";
>>>> }
>>>> ["finalMobileUrls":protected]=>
>>>> NULL
>>>> ["finalAppUrls":protected]=>
>>>> NULL
>>>> ["trackingUrlTemplate":protected]=>
>>>> NULL
>>>> ["urlCustomParameters":protected]=>
>>>> NULL
>>>> ["urlData":protected]=>
>>>> NULL
>>>> ["type":protected]=>
>>>> NULL
>>>> ["devicePreference":protected]=>
>>>> NULL
>>>> ["AdType":protected]=>
>>>> NULL
>>>> [&qu

setIsExplicitlyShared(false); how can I update Amount?

2017-10-10 Thread Hideichi Saito
Hello


 $budget = new Budget();
 $budget->setIsExplicitlyShared(false);
 $budget->setName('sample name');
 $money = new Money();
 $money->setMicroAmount(20);
 $budget->setAmount($money);
 $budget->setDeliveryMethod(BudgetBudgetDeliveryMethod::STANDARD);
 $operations = [];
 // Create a budget operation.
 $operation = new BudgetOperation();
 $operation->setOperand($budget);
 $operation->setOperator(Operator::ADD);
 $operations[] = $operation;
 // Create the budget on the server.
 $result = $budgetService->mutate($operations);
 $budget = $result->getValue()[0];
 $budget_id = $budget->getBudgetId();


$budget->setIsExplicitlyShared(false);
BudgetId is not included.
In this case, how can I update Amount?


 $campaignService = $adWordsServices->get($session, CampaignService::class);
 $operations = [];
 // Create a campaign with PAUSED status.
 $campaign = new Campaign();
 $campaign->setBudget(new Budget());
 $money = new Money();
 $money->setMicroAmount(204000);
 $campaign->getBudget()->setAmount($money);
 $campaign->setId($campaignId);
 $campaign->setStatus(CampaignStatus::PAUSED);
 // Create a campaign operation and add it to the list.
 $operation = new CampaignOperation();
 $operation->setOperand($campaign);
 $operation->setOperator(Operator::SET);
 $operations[] = $operation;
 // Update the campaign on the server.
 $result = $campaignService->mutate($operations);


I tried writing such a code, but it was not updated.
Please teach.

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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 adwords-api@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
--- 
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 adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/770f5f25-1374-48bc-b566-35eae643d390%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: setIsExplicitlyShared(false); how can I update Amount?

2017-10-10 Thread Hideichi Saito
Thank you for your reply.

There is no Budget Id.
It can not be updated because it is BudgetService.mutate ().
What should I do in this case?


2017年10月10日火曜日 20時54分37秒 UTC+9 Peter Oliquino:
>
> Hi Hideichi,
>
> Updating the Amount 
> 
>  field 
> of your Campaign directly using the CampaignService.mutate() 
> 
>  is 
> not supported. If what you wish to do is to update the Amount of your 
> Budget 
> 
>  object, 
> then you need to do so using the BudgetService.mutate() 
> 
> .
>
> Let me know if this helps and please correct me if I misunderstood your 
> question or what you wished to achieve.
>
> Thanks and regards,
> Peter
> AdWords API Team
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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 adwords-api@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
--- 
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 adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/7b7a1ffc-df12-49fb-b098-44cb2ea9add5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: setIsExplicitlyShared(false); how can I update Amount?

2017-10-11 Thread Hideichi Saito
Thank you for your reply.

I added the following code so that I can acquire the Budget Id.
Thank you very much.
 
 $budgetService = $adWordsServices->get($session, BudgetService::class);
   $selector = new Selector();
   $selector->setFields(['BudgetId', 'BudgetName']);  
   $selector->setPredicates([ new Predicate('BudgetName', PredicateOperator
::IN, [$BudgetName]) ]);
   $budget = $budgetService->get($selector);
   $BudgetId = $budget->getEntries()[0]->getBudgetId();


2017年10月11日水曜日 16時11分59秒 UTC+9 Peter Oliquino:
>
> Hi Hideichi,
>
> If you wish to update the Amount of an existing Budget object, you may 
> first retrieve its ID by using the BudgetService.get() 
> .
>  
> Then pass that same ID in the SET operator of the BudgetService.mutate() to 
> update the specific budget's amount.
>
> Thanks and regards,
> Peter
> AdWords API Team
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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 adwords-api@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
--- 
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 adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/19344295-6e06-4a54-b79d-2e6e0f6732c6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.