0

尝试从http://facebooksdk.blogspot.co.uk/2011/04/facebook-groups.html运行代码时出现以下错误

错误是“Invalid CastException Was Unhandled”和“Specified Cast Is Not Valid”

我正在使用 Facebook C# SDK,并且正在使用以下代码...

    public Dictionary<string, string> GetGroups()
    {
        string accessToken = _accessToken;
        FacebookClient facebookClient = new FacebookClient(accessToken);
        JsonObject resul = facebookClient.Get("https://graph.facebook.com/me/groups?access_token=" + accessToken) as JsonObject;
        Dictionary<string, string> dicGroups = new Dictionary<string, string>();
        foreach (JsonObject item in (((KeyValuePair<string, object>)(resul[0])).Value as JsonArray))
        {
            comboBox1.Items.Add(item["id"].ToString());
        }
        return dicGroups;
    }

有人可以帮忙吗?我正在尝试获取所有用户组的列表并将它们添加到组合框中。谢谢

4

1 回答 1

0

我更多地查看了 Facebook C# SDK,并且 api 返回了一个 json 组字符串。您需要遍历 json 字符串中的每个对象以获得所需的内容。

JsonObject groups = facebookClient.Get("me/groups") as JsonObject;
foreach(var group in (JsonArray)groups["data"])
{
    comboBox1.Items.Add(item["id"].ToString());
    ...
}

注意:您需要提示用户提供user_groups扩展权限才能检索组。按照此链接获取提示扩展权限的示例。我没有 Facebook 应用程序,因此无法测试权限提示和检索组信息。

于 2012-09-06T21:08:14.423 回答