Фан Facebook Страница - PullRequest
       4

Фан Facebook Страница

0 голосов
/ 30 августа 2010

Я пытаюсь получить фид со страницы в Facebook, который работает нормально, если я использую браузер для получения фида. Но когда я пытаюсь создать скрипт, который должен извлекать XML, он возвращает HTML, есть идеи, почему?И есть ли какой-нибудь другой способ получить XML для фанатского канала ??

Код C #:

private string GetFacebookPosts(string FacebookID, int NumberOfPosts)
    {

        string feedadress = "http://www.facebook.com/feeds/page.php?format=atom10&id=" + FacebookID.ToString();
        WebClient web = new WebClient();
        return web.DownloadString(feedadress);
    }

    #region Module rendering

    /// <summary>
    /// Renders the module output XML for frontend
    /// </summary>      
    protected override string Render(Page page)
    {
        string FacebookResponse = GetFacebookPosts(ModuleEditionInstance.FacebookID, ModuleEditionInstance.NumberOfPosts);

        XmlDocument FacebookXML = new XmlDocument();
        FacebookXML.LoadXml(FacebookResponse);


        // Transform the rendered xml with the current XslSnippet 
        return ApplyXslSnippet(FacebookXML.InnerXml, page);
    }

    #endregion`

Когда я получаю ответ от Facebook, я получаю HTML-страницу с ответом, что это несовместимый браузер, из которого я отправляюсь. Если это так, то как мне получить фид?

1 Ответ

2 голосов
/ 30 августа 2010

Что, если вы притворяетесь, что клиент является известным браузером, подобным IE, передавая заголовок User-Agent:

web.Headers["User-Agent"] = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)";
...