【问题标题】:Diagnosing Google Fusion Table update using API to upload CSV issue使用 API 诊断 Google Fusion Table 更新以上传 CSV 问题
【发布时间】:2017-06-28 17:04:54
【问题描述】:

我正在尝试通过 API 使用 CSV 数据来诊断更新 Google Fusion Tables 的问题。一切似乎都可以正常工作,代码方面没有报告错误,但数据并未反映更改。有什么想法可以诊断出问题所在吗?

我一直在使用Google.Apis.Fusiontables.v2 C# libraries(我尝试过的最新版本是 v1.27.1.833)每天更新融合表。该过程无缝运行了很长一段时间,但现在似乎不再起作用。我怀疑这个过程已经中断了一个月或更长时间。

从代码方面看来一切正常,没有报告错误。我也一直在 Visual Studio 中调试该过程,没有发现任何问题 - 它似乎只是在客户端工作。

如果有用的话,我使用的 C# 方法是:

fusiontablesService.Table.ReplaceRows(tableId, stream, "application/octet-stream").Upload();

我要更新的表是 - https://fusiontables.google.com/DataSource?docid=1ndrFm1g0iZpz5gszjz5Ij9r_KiQbNYRXVM2JNfv3

UpdatedUtc 列表示一些更新的行正在通过,但不是全部。

如果我将 CSV 流导出到物理文件并通过 Web UI 手动创建一个新的 Fusion Table,这将完美运行,并显示我希望存在的所有缺失数据。

这是压缩后的 CSV 文件,以备不时之需 - http://www.paydirt.co.nz/stackoverflow/GoldPermits.zip

这是我手动将 CSV 文件导入到的测试 Fusion Table - https://www.google.com/fusiontables/DataSource?docid=1Udnre88O8e1zokvnhrkmqdY7BbYD2OQtELdyz3uG

实时表更新中缺失数据的示例:

与使用相同数据创建的测试表相比:

示例中缺少的 2 行的 PERMIT_NUMBER 是 60304 和 60247。

有什么想法可以让我进一步调查可能出了什么问题吗?也许在我不知道的地方有一些日志或日志记录选项可用?

非常感谢您提供任何帮助/想法。

【问题讨论】:

    标签: c# google-fusion-tables


    【解决方案1】:

    fusiontablesService.Table.ReplaceRows(...).Upload() 上传会返回一个Google.Apis.Upload.ResumableUpload.ResumableUploadProgress 对象,该对象同时具有可以检查的StatusException 属性。

    就我而言,我得到了以下进度结果:

    {Google.Apis.Upload.ResumableUpload.ResumableUploadProgress}
        BytesSent: 10485760
        Exception: {"Google.Apis.Requests.RequestError\r\nContent has a different number of columns than the table (line 1). [400]\r\nErrors [\r\n\tMessage[Content has a different number of columns than the table (line 1).] Location[ - ] Reason[badImportNumColumnsMismatch] Domain[fusiontables]\r\n]\r\n"}
        Status: Failed
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-08
      • 1970-01-01
      相关资源
      最近更新 更多