0

https://code.google.com/p/gdata-samples/source/browse/trunk/sites/dotnet/SitesAPIDemo.csの同じ GDAta API コードを使用して、C# で Google サイトにプログラムで Web ページを作成しています。

私が得ている問題は、Web ページを作成すると、ページはサイトで正常に作成されますが、返されるオブジェクト (newEntry) は常に null であるため、返された情報で子ページを作成できません。

        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;
    }

TEntry ではなく AtomEntry を返すようにこれを変更したため、オブジェクトは null ではなくなりました。

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