Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.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
C# 如何通过创建内容权限过滤Facebook页面?_C#_Asp.net_Facebook_Api_Facebook Graph Api - Fatal编程技术网

C# 如何通过创建内容权限过滤Facebook页面?

C# 如何通过创建内容权限过滤Facebook页面?,c#,asp.net,facebook,api,facebook-graph-api,C#,Asp.net,Facebook,Api,Facebook Graph Api,我有以下图形API调用:me/accounts?fields=access\u token、name、id、perms,我使用它从用户那里获取页面标记 现在,我想通过perms=“CREATE\u CONTENT”对其进行过滤。如何筛选此图形API调用 我在用电话。目前我使用以下代码: client.Post(“me/accounts”,新的{fields=“access\u token,name,id,perms”})你不能在API中直接过滤这个,但是从c#可以很容易地做到这一点-你从Face

我有以下图形API调用:
me/accounts?fields=access\u token、name、id、perms
,我使用它从用户那里获取页面标记

现在,我想通过
perms=“CREATE\u CONTENT”
对其进行过滤。如何筛选此图形API调用

我在用电话。目前我使用以下代码:


client.Post(“me/accounts”,新的{fields=“access\u token,name,id,perms”})

你不能在API中直接过滤这个,但是从c#可以很容易地做到这一点-你从Facebook.JSONObject响应中得到一个ICollection,所以你可以使用linq来过滤它-对如何实现这一点有很好的解释。

开头警告:我不知道c#,但我经常用其他编程语言和Facebook合作

Facebook拥有大量的权限作为其扩展权限的一部分。我假设您已经向您的用户请求了一个或多个这些权限。(我没有看到列出
create_content
;这是我提到它的唯一原因。)比方说,您向用户请求了
create_事件
权限

尝试将Facebook用户ID累积到列表中,然后使用Facebook SDK客户端为您感兴趣的权限发出FQL查询:

List<int> facebookUserIds = new List<int>(1, 2, 3);
var query = string.Format("SELECT uid, create_event FROM permissions WHERE uid IN ({})", string.Join(",", facebookUserIds));

dynamic parameters = new ExpandoObject();
parameters.q = query;
dynamic results = client.Get("/fql", parameters);
当然,
0
意味着权限被拒绝,
1
意味着为您用来通过Facebook API进行身份验证的应用ID授予权限


注意:只有在用户之前验证过您的应用程序(最基本的权限级别)的情况下,才会在响应中返回用户;但这应该不是问题。

如果这样做,您将无法看到页面访问令牌。
{
  "data": [
    {
      "uid": 1, 
      "create_event": 1
    },
    {
      "uid": 2, 
      "create_event": 0
    }
    {
      "uid": 3, 
      "create_event": 0
    }
  ]
}