在 asp.net 中获取 Facebook 页面提要(使用图形 api),收到错误“不支持的浏览器”

Posted

技术标签:

【中文标题】在 asp.net 中获取 Facebook 页面提要(使用图形 api),收到错误“不支持的浏览器”【英文标题】:Getting Facebook Page Feed ( using graph api ) in asp.net, receiving error "Unsupported Browser" 【发布时间】:2014-02-19 13:37:43 【问题描述】:

我正在尝试获取不需要任何访问令牌的 facebook 页面提要(公共帖子)。 这是网址 https://www.facebook.com/feeds/page.php?format=json&id=1393547494231876 当我在 id= 任何 facebook 页面 id 的浏览器中运行它时。它以 json 格式返回前 25 个公共帖子。 但是当我在我的代码中运行它以获取 json 结果时,facebook 返回一个页面,上面写着“不支持的浏览器” 这是我的方法。我通过它 facebook 页面 id 来获取帖子..

public static String GetPosts(string PageId)
    
        string id = PageId;
        string apilink = "https://www.facebook.com/feeds/page.php?format=json&id=";
        HttpWebRequest request = WebRequest.Create(apilink + id) as HttpWebRequest;
        request.Method = WebRequestMethods.Http.Get;
        request.Accept = "application/json";
        request.ContentType = "application/json; charset=utf-8";
        // Get response  
        using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
        
            // Get the response stream  
            StreamReader reader = new StreamReader(response.GetResponseStream());

            // Console application output  
            String result = reader.ReadToEnd();
            return result;
        
    

这是我在返回字符串中得到的结果 Result Image String

等剩余页面返回。 有人可以帮我如何让它工作吗??

更新 找到答案... 我必须设置用户代理才能让 Facebook 认为我是浏览器.. 所以刚刚添加 request.UserAgent = ".NET 框架"; 我工作了。 谢谢大家。

【问题讨论】:

你用什么浏览器? 为了检查 url,您可以使用任何浏览器...实际上我正在请求 url 给我它在浏览器上返回的页面内容。在 asp.net 4.0 的上述函数中你可以看到。我使用 chrome 作为我的默认值 尝试将 request.UserAgent 设置为您的浏览器用户代理字符串 - 这应该让 facebook 认为您的网络请求来自它识别的浏览器并发送适当的响应 - 请参阅此处***.com/questions/3057328/… 就在 30 分钟前,我还从一位同事那里找到了答案.....正如你所说,我必须设置 request.UserAgent 并将其设置为 request.UserAgent = ".NET Framework";它奏效了……再次感谢…… @HafizBilal 您可以为自己的问题添加答案...这对遇到相同问题的人会有所帮助... 【参考方案1】:

找到答案...我必须设置用户代理才能让 Facebook 认为我是浏览器。所以只需添加 request.UserAgent = ".NET Framework";我工作了。谢谢大家。

【讨论】:

facebook 不会在单个请求中返回所有帖子,而是仅返回前几个请求。有什么方法可以获取所有帖子或页面帖子数?

以上是关于在 asp.net 中获取 Facebook 页面提要(使用图形 api),收到错误“不支持的浏览器”的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET MVC - 将数据发布到 Facebook

在弹出窗口中使用 Owin 外部登录的 Asp.net 登录提供程序

如何在 ASP.net 页面中获取母版页的 Div?

如何在 asp.net 4.5 中使用 facebook 帐户开发登录

如何在 Razor 页面中获取 ASP.NET 身份验证票证到期?

如何从 ASP.NET 页面获取当前登录的 Windows 帐户?