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)
该错误是因为您的项目的两个库正在为同一文件提供原型描述符policy_topic_evidence_destination_not_working_dns_error_type.proto
。
看来此问题已在 Google 广告库链接的 v6 版本中修复
只需将库更新到 v6 及更高版本(最新的是 v7),它应该可以解决问题 最新版本
归档时间: |
|
查看次数: |
642 次 |
最近记录: |