Facebook 如何使用FQL列出我的朋友?
我正在尝试使用Facebook SDK版本6.1.4列出我所有朋友的生日 当我使用下面没有FQL的代码时,它工作得很好,但是我不能得到生日,只能得到姓名和id值Facebook 如何使用FQL列出我的朋友?,facebook,c#-4.0,facebook-c#-sdk,facebook-fql,Facebook,C# 4.0,Facebook C# Sdk,Facebook Fql,我正在尝试使用Facebook SDK版本6.1.4列出我所有朋友的生日 当我使用下面没有FQL的代码时,它工作得很好,但是我不能得到生日,只能得到姓名和id值 var client = new FacebookClient(access_token); dynamic me = client.Get(myusername); client.IsSecureConnection = true; friendListData = client.Get("/" + me.i
var client = new FacebookClient(access_token);
dynamic me = client.Get(myusername);
client.IsSecureConnection = true;
friendListData = client.Get("/" + me.id + "/friends?fields=name,id");
JObject job = JObject.Parse(friendListData.ToString());
因此,我尝试将代码与FQL一起使用,但它引发了一个异常
var client = new FacebookClient(access_token);
client.IsSecureConnection = true;
dynamic me = client.Get(myusername);
//var id = me.id;
Facebook.JsonObject friendListData = new Facebook.JsonObject();
try
{
friendListData = (Facebook.JsonObject)client.Get("fql",
new
{
q = new
{
name = "SELECT name, birthday, email, uid FROM user WHERE uid in (SELECT uid2 FROM friend WHERE uid1 = me()) AND birthday_date != 'null' ORDER BY birthday_date"
}
});
}
catch (FacebookOAuthException facebookAuth)
{
//"(OAuthException - #102) A user access token is required to request this resource."
}
我做错了什么 检查是否设置了访问令牌并打印它,然后在调试器中检查它 对于FQL调用 这是基于几个月内的普通信件,特别是a、e和u。从这一点上,我们可以做strpo来匹配这些 从用户处选择姓名、生日、电子邮件、uid,其中uid在从朋友处选择uid2,其中uid1=me和StrpsowerBirth,a>=0或StrpsowerBirth,e>=0或StrpsowerBirth,u>=0按生日\u日期排序
这将拉出所有空值,因为根据空值的定义,空值不包含任何字母,而不是字母本身这对于Windows PowerShell和: 导入模块facebook $FB\u DefaultExtendedPermissions+=朋友\u生日 新FBI连接 获取FBFriend-字段名称、生日|选择名称、生日
我应该将好友添加到默认权限列表中…您的访问令牌是用户访问令牌吗?顺便说一句,您也可以通过“普通”API查询获得生日,它不必是FQL。它是一个应用程序访问令牌?客户id=你的应用id&客户机密=你的应用机密&授权类型=客户机密CBroe,我认为你给我指明了正确的方向。我需要使用的令牌应该是用户访问令牌,而不是应用程序访问令牌。我在代码中添加了一个断点。我能看到访问令牌。@abhi,这回答了一半的问题。不,完成要求的下半部分。