【问题标题】:How do I use Google.GData.Client.AtomLinkCollection.FindService method to get the list of worksheets in a Google Spreadsheet?如何使用 Google.GData.Client.AtomLinkCollection.FindService 方法获取 Google 电子表格中的工作表列表?
【发布时间】:2010-10-26 16:37:23
【问题描述】:

我正在尝试编写与 Google 电子表格对话的代码。我们最终做了一堆处理,然后将数据传递给我们的客户到这个电子表格中,我想自动化它。这看起来应该很容易。

this page 上,Google 说“给定一个您已经检索到的电子表格条目,您可以打印此电子表格中所有工作表的列表,如下所示:”

AtomLink link = entry.Links.FindService(GDataSpreadsheetsNameTable.WorksheetRel, null);

WorksheetQuery query = new WorksheetQuery(link.HRef.ToString());
WorksheetFeed feed = service.Query(query);

foreach (WorksheetEntry worksheet in feed.Entries)
{
    Console.WriteLine(worksheet.Title.Text);
}

在家里跟着我开始:

Dim link As AtomLink = Entry.Links.FindService(GDataSpreadsheetsNameTable.WorksheetRel, "")
Dim wsq As New WorksheetQuery(link.HRef.ToString)

当执行到第二行时,我发现“对象引用未设置为对象的实例”。 FindService 方法不返回任何内容。当我查看 GDataSpreadsheetsNameTable.WorksheetRel 时,它是“http://schemas.google.com/spreadsheets/2006#worksheetsfeed”的常量值

我还没有真正了解它想要做什么。例如,什么是饲料?工作表真的是我认为基于 Excel 命名法的吗?那种东西。但我发现有几件事可能会导致我的问题:

  1. C# 方法调用“...FindService(GDataSpreadsheetsNameTable.WorksheetRel, null);”我不确定那个空值。它需要一个字符串,所以我在我的 VB 中使用了 "",但我不确定这是否正确。
  2. schemas.google.com URI 似乎不是实时的。至少,如果我将它打入浏览器,我会找不到服务器。但同样,我并不完全知道它想做什么。

那么,有什么想法吗?任何人都有可以读取 Google 电子表格的 VB 代码并有时间指导新手?我很惊讶地发现网上基本没有有用的示例代码。

感谢阅读!

【问题讨论】:

    标签: vb.net google-api google-sheets


    【解决方案1】:

    所以,当然,在我发布这篇文章后,我从here 中找到了一些灵​​感。手动迭代集合效果很好,即使它不是执行此操作的首选方式。我仍然很想听听其他人提供的与此相关的信息,所以即使我可能已经克服了这一障碍,我也会受到鼓励来提供帮助。

    For Each Entry In mySprShFeed.Entries
        If Entry.Title.Text = "spreadsheetNameSought" Then
            For Each link As AtomLink In Entry.Links
                If link.Rel = GDataSpreadsheetsNameTable.WorksheetRel Then
                    Dim wsf As WorksheetFeed = service.Query(New WorksheetQuery(link.HRef.ToString))
                    For Each worksheet In wsf.Entries
                        Console.WriteLine(worksheet.Title.Text)
                    Next
    
                End If
            Next
        End If
    Next
    

    【讨论】:

      猜你喜欢
      • 2016-07-31
      • 1970-01-01
      • 1970-01-01
      • 2015-12-15
      • 2016-11-09
      • 1970-01-01
      • 2017-08-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多