Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook 如何使用FQL列出我的朋友?_Facebook_C# 4.0_Facebook C# Sdk_Facebook Fql - Fatal编程技术网

Facebook 如何使用FQL列出我的朋友?

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

我正在尝试使用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.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,这回答了一半的问题。不,完成要求的下半部分。