【问题标题】:I cannot retrieve my groups using Facebook SDK 5.1 using C#我无法使用 C# 使用 Facebook SDK 5.1 检索我的群组
【发布时间】:2011-08-25 14:11:07
【问题描述】:

我正在使用 Facebook SDK,并且正在尝试使用 C# 来获取用户订阅的组。代码如下

JsonObject Groups = (JsonObject)client.Get("me/groups");

执行此代码后,我得到一个空对象。这是我缺少的东西吗?

点赞 (JsonObject Groups = (JsonObject)client.Get("me/likes");) 和朋友 (JsonObject Groups = (JsonObject)client.Get("me/friends");) 的销售代码正常。

【问题讨论】:

    标签: c# facebook sdk facebook-group


    【解决方案1】:

    您需要提示用户提供 user_groups 扩展权限。

    【讨论】:

    • 你能解释一下我该怎么做吗?
    【解决方案2】:

    由于我遇到了同样的问题并且在任何地方都找不到帮助,我想我会按照@DustyRoberts 的要求解释如何解决这个问题。

    如果您在请求 me/groups{user-id}/groups 时得到一个空对象,那是因为您缺少 user_managed_groups 权限(在 Graph API 版本 2.3 之前是 user_groups)。

    您可以通过在用户登录时添加scope 参数来做到这一点。这是一个逗号分隔的权限列表。你可以看到完整的权限列表here (v2.4)

        public static Uri GetLoginUrl(bool rerequestPermissions)
        {
            var client = new FacebookClient();
            dynamic para = new ExpandoObject();
            para.client_id = Settings.AppId;
            para.redirect_uri = Settings.LoginRedirUrl;
            para.response_type = Settings.ResponseType;
            para.scope = Settings.Scope; // Includes user_managed_groups
    
            // true if you've detected that one or more permissions have been denied
            // or revoked. It'll promt the user to grant the permissions again as when they
            // first used your app.
            if (rerequestPermissions)
                para.auth_type = "rerequest";
    
            return client.GetLoginUrl(para);
        }
    

    更多关于检查权限here (v2.4)

    我希望这对某人有所帮助,因为这正是我使其工作所需的信息。

    【讨论】:

    • graph.facebook 将是什么……用于获取我所有加入的组的链接。
    • @ZiaUrRahman 实际上在问题中有详细说明。您只需要Get("me/groups") 就可以拥有它们,前提是您有权按照我的回答这样做。否则恐怕我误解了你的问题。
    • 感谢您的回复,您说得对,我会得到这样的组,但这些是我创建的组,我需要我加入的组......即近 100我加入的组,有些是封闭组,有些是公共组,所以我需要获取我所有加入组的列表。谢谢。
    • 啊,这确实是个大问题。执行此操作的方法已在 Graph API 中被弃用。您将只能检索您自己创建的或我认为是管理员的群组。我很难理解 Facebook 做出这个决定的原因。我遇到了和你一样的问题,这非常令人沮丧。我最终做了一些讨厌的事情,阅读了 HTML 并点击了链接。颤抖,但我需要在大量相册中自动进行一些图像清理。那是另一回事,Graph API 不能删除你(或者甚至它)没有创建的东西。
    • 哦!很遗憾听到这种功能的弃用。这意味着,我们必须手动处理如此庞大的组列表。但无论如何,谢谢你的信息。 :)
    猜你喜欢
    • 1970-01-01
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    • 2014-03-13
    • 2012-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多