Google Adwords API OfflineConversionFeedService return INVAL
本文关键字:return INVAL OfflineConversionFeedService API Adwords Google | 更新日期: 2023-09-27 18:12:55
我正试图在AdWords Api转换与AdWords测试帐户:
OfflineConversionFeed feed = new OfflineConversionFeed();
feed.conversionName = conversionName;
feed.conversionTime = conversionTime;
feed.conversionValue = conversionValue;
feed.googleClickId = gClid;
我正在使用最新的AdWords .NET库@AnashOommen
我一直从我的API请求得到以下异常:
运行此代码示例时发生异常。系统。ApplicationException:上传离线转换失败。——> Google.Api.Ads.AdWords.Lib.AdWordsApiException:发生API异常。参见ApiException和InnerException字段获取更多详细信息。System.Web.Services.Protocols.SoapException: DateError。invalid_string_日期@;触发器:'7/14/2014 6:30:00 AM'System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse (SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
还有一件事,我在Adwords文档中发现:
所有时区必须相对于格林尼治标准时间整小时或半小时递增。如果你所在的时区与格林尼治时间相差25小时,AdWords系统将无法支持你的时区。请为您的帐户选择不同的时区。
我尝试了许多日期格式,例如:
- 名称HH: MM: SS
- MM/dd/yyyy HH: MM:ss
还有更多,没有一个成功。
我的本地时间不同,然后在我的测试帐户(中央标准时间)的时区,我不喜欢改变时间在我的测试帐户,因为我希望它是相同的生产帐户。
任何帮助将不胜感激。
在Adsword支持的帮助下,正确的格式是:20140714 060000 Europe/Berlin
我在日期旁边添加了时区(欧洲/柏林)。
DateTime.Now.ToString("yyyyMMdd HHmmss") + " Europe/Berlin";
解决了INVALID_STRING_DATE_TIME错误
SOAP通常需要ISO8601格式的值,并且应该包含时区偏移量。
例如:2014-07-14T01:23:45-05:00
假设conversionTime
是DateTime
或DateTimeOffset
类型,尝试使用符合ISO8601的"往返格式说明符"进行格式化:.ToString("o")
.