谁能帮我从 Google Ads API 调试“之前加载了原型描述符”

Chr*_*ris 6 php laravel protobuf-c grpc google-ads-api

运行此代码时出现此错误:

$googleAdsClient->getGoogleAdsServiceClient()->search($customerId, $query, $page_size);
Run Code Online (Sandbox Code Playgroud)

错误信息: proto descriptor was previously loaded (included in multiple metadata bundles?): google/ads/googleads/v5/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto

$googleAdsClient 是 的一个实例\Google\Ads\GoogleAds\Lib\V5\GoogleAdsClient

getGoogleAdsServiceClient方法来自于ServiceClientFactoryTrait特质/Google/Ads/GoogleAds/Lib/V5/ServiceClientFactoryTrait.php

我在跑:

php 7.4.1
grpc module version => 1.34.0
protobuf version => 3.14.0
Run Code Online (Sandbox Code Playgroud)

通过 Composer 安装的其他库:

google/grpc-gcp                       0.1.5      gRPC GCP library for channel management
google/protobuf                       v3.13.0.1  proto library for PHP
googleads/google-ads-php              v5.0.0     Google Ads API client for PHP
grpc/grpc                             1.30.0     gRPC library for PHP
Run Code Online (Sandbox Code Playgroud)

我对描述符或 protobuf 库的了解不够,无法理解此错误。它在几天前才开始发生,我认为我们没有做出任何会影响这一点的更改。任何帮助/指导将不胜感激。

编辑:忘记链接到 SDK https://github.com/googleads/google-ads-php

编辑:更新了以下库:

google/apiclient                     v2.9.1     Client library for Google APIs
google/apiclient-services            v0.161.0   Client library for Google APIs
google/auth                          v1.15.0    Google Auth Library for PHP
google/common-protos                 1.3        Google API Common Protos for PHP
google/gax                           1.7.0      Google API Core for PHP
google/grpc-gcp                      0.1.5      gRPC GCP library for channel management
google/protobuf                      v3.15.3    proto library for PHP
googleads/google-ads-php             v7.0.0     Google Ads API client for PHP
grpc/grpc                            1.35.0     gRPC library for PHP
google/protobuf                      v3.15.3    proto library for PHP
Run Code Online (Sandbox Code Playgroud)

Bui*_*d3r 0

该错误是因为您的项目的两个库正在为同一文件提供原型描述符policy_topic_evidence_destination_not_working_dns_error_type.proto
看来此问题已在 Google 广告库链接的 v6 版本中修复

只需将库更新到 v6 及更高版本(最新的是 v7),它应该可以解决问题 最新版本