在 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),收到错误“不支持的浏览器”的主要内容,如果未能解决你的问题,请参考以下文章
在弹出窗口中使用 Owin 外部登录的 Asp.net 登录提供程序
如何在 asp.net 4.5 中使用 facebook 帐户开发登录