0

我正在使用来自https://code.google.com/p/gdata-samples/source/browse/trunk/sites/dotnet/SitesAPIDemo.cs的相同 GDAta API 代码以编程方式在 C# 中的 Google 协作平台中创建网页。

我遇到的问题是,当我创建网页时,该页面已在站点中成功创建,但返回的对象 (newEntry) 始终为空,因此我无法使用返回的信息创建任何子页面。

        SiteEntry entry = new SiteEntry();
        AtomCategory category = new AtomCategory(SitesService.WEBPAGE_TERM, SitesService.KIND_SCHEME);
        category.Label = "webpage";
        entry.Categories.Add(category);
        entry.Title.Text = title;
        entry.Content.Type = "xhtml";
        entry.Content.Content = html;
        entry.ExtensionElements.Add(makePageNameExtension(pageName));

        AtomEntry newEntry = null;
        try
        {
            //the newEntry below is always returned as null
            newEntry = service.Insert(new Uri(makeFeedUri("content")), entry);
        }
        catch (GDataRequestException e)
        {
            Console.WriteLine(e.ResponseString);
        }

        return newEntry;

以前有人见过这个问题吗?

谢谢

瑞安

4

1 回答 1

0

我不得不进入 SDK 的源代码来临时解决这个问题。这种方法似乎是问题所在:

    public TEntry Insert<TEntry>(Uri feedUri, TEntry entry) where TEntry : AtomEntry
    {
        return this.Insert(feedUri, entry, null) as TEntry;
    }

我已将其更改为返回 AtomEntry 而不是 TEntry,并且该对象不再为空:

    public AtomEntry Insert<TEntry>(Uri feedUri, TEntry entry) where TEntry : AtomEntry
    {
        return this.Insert(feedUri, entry, null);
    }
于 2013-05-23T20:42:12.373 回答