Hi Jude,
Thank you for replying.
But the problem is we download our client's data and sometimes our client
revoke access and we haven't fully updated that into our system and while
we download data like this.
// Generate a refreshable OAuth2 credential for authentication.
$oAuth2Credential = (new OAuth2TokenBuilder())->fromFile()->build();
// Construct an API session configured from a properties file and
the OAuth2 credentials above.
$session = (new
AdWordsSessionBuilder())->fromFile()->withOAuth2Credential($oAuth2Credential)->withClientCustomerId($customerid)->build();
$adWordsServices=new AdWordsServices();
The error occurs,
*Fatal error*: Uncaught exception
'Google\AdsApi\AdWords\v201708\cm\ApiException' with message
'[AuthorizationError.USER_PERMISSION_DENIED @ ; trigger:'<null>']'
in
/var/www/adwords_api/vendor/googleads/googleads-php-lib/src/Google/AdsApi/
Common/Util/Reflection.php:39
Stack trace:
#0
/var/www/adwords_api/vendor/googleads/googleads-php-lib/src/Google/AdsApi/
Common/Util/Reflection.php(39):
ReflectionClass->newInstanceArgs(Array)
#1
/var/www/adwords_api/vendor/googleads/googleads-php-lib/src/Google/AdsApi/
Common/AdsSoapClient.php(165):
Google\AdsApi\Common\Util\Reflection->createInstance('Google\AdsApi\A...',
'[AuthorizationE...')
#2
/var/www/adwords_api/vendor/googleads/googleads-php-lib/src/Google/AdsApi/
Common/AdsSoapClient.php(130):
Google\AdsApi\Common\AdsSoapClient->parseApiExceptionFromSoapFault(Object(
SoapFault))
#3
/var/www/adwords_api/vendor/googleads/googleads-php-lib/src/Google/AdsApi/
AdWords/v201708/cm/CampaignService.php(158):
Google\AdsApi\Common\AdsSoapClient->__soapCall('get', Array)
#4 /var/www/adwords_api/Ge in
*/var/www/adwords_api/vendor/googleads/googleads-php-lib/src/Google/AdsApi/Common/Util/Reflection.php*
on line *39*
Can we catch this error somehow, so that other clients don't get effected?
Thanks.
On Friday, October 13, 2017 at 5:57:07 PM UTC+5, MWA wrote:
>
> Hi,
> Can anyone tell me how to handle errors on new Adwords API v201708?
> Here is my code, I can not catch exception I've tried these possibilities.
> My code is working fine but if there is an error I want to handle it.
>
> Code:
> $oAuth2Credential = (new OAuth2TokenBuilder())->fromFile()->build();
>
> $session = (new
> AdWordsSessionBuilder())->fromFile()->withOAuth2Credential($oAuth2Credential)->enablePartialFailure()->build();
>
> $adWordsServices=new AdWordsServices();
>
> $managedCustomerService = $adWordsServices->get($session,
> ManagedCustomerService::class);
>
> $link = new ManagedCustomerLink();
> $link->setManagerCustomerId($managerid);
> $link->setClientCustomerId($customerid);
> $link->setLinkStatus(LinkStatus::PENDING);
>
> $linkop = new LinkOperation();
> $linkop->setOperator(Operator::ADD);
> $linkop->setOperand($link);
>
> $operations = array($linkop);
>
> try{
> $result = $managedCustomerService->mutateLink($operations);
> }catch(AdwordsApiException $e){
> print_r($e);
> print_r($result->getPartialFailureErrors());
>
> }catch(Exception $e){
> print_r($e);
> print_r($result->getPartialFailureErrors());
>
> }catch(ApiException $e){
> print_r($e);
> print_r($result->getPartialFailureErrors());
>
> }
>
> Error:
>
> *Fatal error*: Uncaught exception
> 'Google\AdsApi\AdWords\v201708\cm\ApiException' with message
> '[ManagedCustomerServiceError.ALREADY_INVITED_BY_THIS_MANAGER @
> operations[0]]' in
> /var/www/adwords_api/vendor/googleads/googleads-php-lib/src/Google/AdsApi/Common/Util/Reflection.php:39
>
> Stack trace: #0
> /var/www/adwords_api/vendor/googleads/googleads-php-lib/src/Google/AdsApi/Common/Util/Reflection.php(39):
>
> ReflectionClass->newInstanceArgs(Array) #1
> /var/www/adwords_api/vendor/googleads/googleads-php-lib/src/Google/AdsApi/Common/AdsSoapClient.php(165):
>
> Google\AdsApi\Common\Util\Reflection->createInstance('Google\AdsApi\A...',
> '[ManagedCustome...') #2
> /var/www/adwords_api/vendor/googleads/googleads-php-lib/src/Google/AdsApi/Common/AdsSoapClient.php(130):
>
> Google\AdsApi\Common\AdsSoapClient->parseApiExceptionFromSoapFault(Object(SoapFault))
>
> #3
> /var/www/adwords_api/vendor/googleads/googleads-php-lib/src/Google/AdsApi/AdWords/v201708/mcm/ManagedCustomerService.php(185):
>
> Google\AdsApi\Common\AdsSoapClient->__soapCall('mutateLink', Array in
> */var/www/adwords_api/vendor/googleads/googleads-php-lib/src/Google/AdsApi/Common/Util/Reflection.php*
>
> on line *39*
>
>
>
> Thanks.
>
--
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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].
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/5ceef122-d43a-485a-9fbb-fa7d747c5ca2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.