由于我遇到了同样的问题并且在任何地方都找不到帮助,我想我会按照@DustyRoberts 的要求解释如何解决这个问题。
如果您在请求时得到一个空对象,me/groups
或者{user-id}/groups
是因为您缺少user_managed_groups
权限(user_groups
在 Graph API 版本 2.3 之前)。
您可以通过scope
在用户登录时添加参数来做到这一点。这是一个逗号分隔的权限列表。您可以在此处查看完整的权限列表(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);
}
有关在此处检查权限的更多信息(v2.4)
我希望这对某人有所帮助,因为这正是我使其工作所需的信息。