使用Microsoft BingAds PHP SDK获取广告报告时AdTitle反序列化报错求助
问题解决:Bing Ads API反序列化异常(AdTitle列报错)
问题核心是你在创建SoapVar时,错误地将AdPerformanceReportRequest实例标记成了CampaignPerformanceReportRequest类型,导致API端用CampaignPerformanceReportColumn枚举去解析你传入的AdPerformanceReportColumn::AdTitle,自然会报枚举值不匹配的错误。
修正代码
把SoapVar的第三个参数从'CampaignPerformanceReportRequest'改成'AdPerformanceReportRequest'即可:
$encodedReport = new SoapVar($report, SOAP_ENC_OBJECT, 'AdPerformanceReportRequest', $serviceClient->GetNamespace());
原因说明
你初始化的报告请求是AdPerformanceReportRequest,对应要使用的列枚举是AdPerformanceReportColumn(其中包含AdTitle),但你给SoapVar指定的类型却是CampaignPerformanceReportRequest,API收到请求后会默认用CampaignPerformanceReportColumn去校验列值,而AdTitle并不属于这个枚举,因此触发反序列化异常。
内容的提问来源于stack exchange,提问作者Bryan
相关产品推荐
相关产品推荐

