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系统将无法支持你的时区。请为您的帐户选择不同的时区。

我尝试了许多日期格式,例如:

  1. 名称HH: MM: SS
  2. MM/dd/yyyy HH: MM:ss

还有更多,没有一个成功。

我的本地时间不同,然后在我的测试帐户(中央标准时间)的时区,我不喜欢改变时间在我的测试帐户,因为我希望它是相同的生产帐户。

任何帮助将不胜感激。

Google Adwords API OfflineConversionFeedService return INVAL

在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

假设conversionTimeDateTimeDateTimeOffset类型,尝试使用符合ISO8601的"往返格式说明符"进行格式化:.ToString("o") .