Re: Error occurred during parsing: Fail to push the limit

2021-04-09 Thread Sebastian Offers
Thank you for your help!

Am Do., 8. Apr. 2021 um 21:14 Uhr schrieb Google Ads API Forum Advisor Prod
:

> Hello,
>
> Thanks for reaching out. It appears you are using the PHP client library,
> specifically the LinkManagerToClient.php code example. As your inquiry
> seems to be with this specific implementation, and not the API itself, I
> recommend reaching out to the client library owners. You can post your
> issue on the PHP client library GitHub page here
> .
>
> Regards,
> Matt
> Google Ads API Team
>
> [image: Google Logo]
> Matt
> Google Ads API Team
>
>
> ref:_00D1U1174p._5004Q2FWqHB:ref
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads 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 and Google Ads API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/CAPUHbNhw6B5Hbk4DdpepF-XhMpSa7-cCjKsVDD%2Bi1C3DDCeAQA%40mail.gmail.com.


Error occurred during parsing: Fail to push the limit

2021-04-08 Thread Sebastian Offers
Hello maybe anyone has an idea whats wrong.

I got the Error: *Error occurred during parsing: Fail to push the limit*

This error is since i updated from v2 to v6. 

My System

   - "php": ">=7.3",
   - "google/gax": "^1.7.0",
   - "grpc/grpc": "^1.36.0",
   - "google/protobuf": "^3.15.0",
   - "monolog/monolog": "^2.0"

The only information that i found is which function give probably the error.

https://github.com/protocolbuffers/protobuf-php/blob/master/src/Google/Protobuf/Internal/CodedInputStream.php#L340

The Error comes if i try in the code link the Manager account with the 
client.

The function looks like following:

 class LinkManagerToClient {

const MANAGER_CUSTOMER_ID = MANAGER_CUSTOMER_ID;
const CUSTOMER_ID = CUSTOMER_ID;
const PAGE_SIZE = 50;

public static function main() {

  $options = (new ArgumentParser())->parseCommandArguments([
ArgumentNames::MANAGER_CUSTOMER_ID => GetOpt::REQUIRED_ARGUMENT,
ArgumentNames::CUSTOMER_ID => GetOpt::REQUIRED_ARGUMENT
  ]);

  try {
self::runExample(
  $options[ArgumentNames::MANAGER_CUSTOMER_ID] ?: 
self::MANAGER_CUSTOMER_ID,
  $options[ArgumentNames::CUSTOMER_ID] ?: self::CUSTOMER_ID
);
  } catch (GoogleAdsException $googleAdsException) {
printf(
  "Request with ID '%s' has failed.%sGoogle Ads failure details:%s",
  $googleAdsException->getRequestId(),
  PHP_EOL,
  PHP_EOL
);
foreach ($googleAdsException->getGoogleAdsFailure()->getErrors() as 
$error) {
  printf(
"\t%s: %s%s",
$error->getErrorCode()->getErrorCode(),
$error->getMessage(),
PHP_EOL
  );
}
  } catch (ApiException $apiException) {
printf(
  "ApiException was thrown with message '%s'.%s",
  $apiException->getMessage(),
  PHP_EOL
);
  }

}

public static function runExample(int $managerCustomerId, int 
$clientCustomerId) {

  $customerClientLinkResourceName = 
self::createInvitation($managerCustomerId, $clientCustomerId);

  $managerLinkResourceName = 
self::getManagerLinkResourceName($managerCustomerId, $clientCustomerId, 
$customerClientLinkResourceName);

}

public static function createInvitation(int $managerCustomerId, int 
$clientCustomerId) {

  $googleAdsClient = self::createGoogleAdsClient($managerCustomerId);

  $customerClientLink = new CustomerClientLink([
'client_customer' => new StringValue(['value' => 
ResourceNames::forCustomer($clientCustomerId)]),
'status' => ManagerLinkStatus::PENDING
  ]);

  $customerClientLinkOperation = new CustomerClientLinkOperation();
  $customerClientLinkOperation->setCreate($customerClientLink);

  $customerClientLinkServiceClient = 
$googleAdsClient->getCustomerClientLinkServiceClient();
  $response = 
$customerClientLinkServiceClient->mutateCustomerClientLink($managerCustomerId, 
$customerClientLinkOperation);

  $customerClientLinkResourceName = 
$response->getResult()->getResourceName();

  return $customerClientLinkResourceName;

}

public static function getManagerLinkResourceName(int 
$managerCustomerId, int $clientCustomerId, string 
$customerClientLinkResourceName) {

  $googleAdsClient = self::createGoogleAdsClient($managerCustomerId);

  $query = "SELECT customer_client_link.manager_link_id FROM 
customer_client_link WHERE customer_client_link.resource_name = 
'$customerClientLinkResourceName'";

  $googleAdsServiceClient = 
$googleAdsClient->getGoogleAdsServiceClient();
  $response = $googleAdsServiceClient->search(
$managerCustomerId,
$query,
['pageSize' => self::PAGE_SIZE]
  );

  $managerLinkId = $response->getIterator()->current()
  ->getCustomerClientLink()
  ->getManagerLinkIdUnwrapped();
  $managerLinkResourceName = 
ResourceNames::forCustomerManagerLink($clientCustomerId, 
$managerCustomerId, $managerLinkId);

  return $managerLinkResourceName;

}

private static function createGoogleAdsClient(int $loginCustomerId) {

  try {

$oAuth2Credential = (new OAuth2TokenBuilder())
->fromFile()
->build();

  } catch (Exception $e) {

echo '3 Caught exception: ',  $e->getMessage(), "\n";

  }

  try {

return (new GoogleAdsClientBuilder())
->fromFile()
->withOAuth2Credential($oAuth2Credential)
->withLoginCustomerId($loginCustomerId)
->build();

  } catch (Exception $e) {

  *  echo '4 Caught exception: ',  $e->getMessage(), "\n";*
// header("Location: 
$global_domain/?g_ads=error_ads_accountId=1");
exit;

  }

}

  }

Thanks a lot for help or any idea

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/