Invalidcastexception未处理

时间:2012-09-06 20:52:02

标签: c# facebook facebook-graph-api sdk facebook-c#-sdk

尝试从http://facebooksdk.blogspot.co.uk/2011/04/facebook-groups.html

运行代码时出现以下错误

错误是“无效的CastException未处理”和“指定的转换无效”

我正在使用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;
    }

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

1 个答案:

答案 0 :(得分: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扩展权限才能检索组。请关注this link以获取扩展权限提示示例。我没有Facebook应用程序,因此无法测试提示权限和检索组信息。