【发布时间】:2010-05-05 16:11:05
【问题描述】:
使用 Facebook Graph API (http://graph.facebook.com/btaylor) 访问用户数据与使用 Graph API 对同一用户 (https://api.facebook.com/method/fql.query?query=QUERY) 进行 FQL 查询有何区别。
另外,有谁知道 Facebook 开发者工具包(用于 ASP.NET)使用的是哪一个?
我问的原因是因为我试图在登录用户在我的网站上开始 Facebook Connect 会话后访问他们的生日,但是当我使用工具包时它不会返回它。但是,如果我为该用户对象手动调用 Graph API,它会返回它。我的工具包调用可能有问题。我想我可能需要包含会话密钥,但我不确定如何获取它。这是我正在使用的代码:
_connectSession = new ConnectSession(APPLICATION_KEY, SECRET_KEY);
try
{
if (!_connectSession.IsConnected())
{
// Not authenticated, proceed as usual.
statusResponse = "Please sign-in with Facebook.";
}
else
{
// Authenticated, create API instance
_facebookAPI = new Api(_connectSession);
// Load user
user user = _facebookAPI.Users.GetInfo();
statusResponse = user.ToString();
ViewData["fb_user"] = user;
}
}
catch (Exception ex)
{
//An error happened, so disconnect session
_connectSession.Logout();
statusResponse = "Please sign-in with Facebook.";
}
【问题讨论】:
-
我也对两者之间的差异感兴趣。
-
老话题——但这是我的 .02:Open Graph 抽象出 Facebook SQL 中的“sql”,并且在设计上要慢得多。如果您熟悉 SQL,FBSQL 就是对 FB 已经定义的列的简单 SQL 查询,& 让您可以更好地控制返回的内容。对返回内容的更多控制、更精细的查询和更小的数据集可为您带来性能改进的好处,并且始终比 Open Graph(用于进行简单查询)更快。开放图将更适合需要大量连接和子查询的复杂查询 - 您应该首先避免。
标签: facebook facebook-fql facebook-graph-api