使用 C# API 在 Facebook 中创建事件时出现 TargetParameterCountException

Tim*_*ass 1 c# facebook facebook-c#-sdk

我正在使用C# SDK发布事件。我已经填写了基本的事件参数,并使用 Graph API explorer 测试了这些参数。但是,当我调用 PostTaskAsync 时:

var parameters = new Dictionary<string, string>
    {
        { "name", "Random" },
        { "start_time", "2012-11-11" },
    };

fb.PostTaskAsync("me/events", parameters);
Run Code Online (Sandbox Code Playgroud)

我遇到了 TargetParameterCountException。谁能解释我做错了什么?

Joh*_*ant 5

Facebook c# sdk 需要实现接口的类型

IDictionary<string, object> 
Run Code Online (Sandbox Code Playgroud)

请参阅 sdk 版本 6.4.2 中的 FacebookClient.cs 文件。在 ToDictionary() 方法中有一个强制转换:

var dictionary = parameters as IDictionary<string, object>;
Run Code Online (Sandbox Code Playgroud)

此强制转换会产生 null 并且 sdk 无法将您的字典类型转换为预期的字典类型。

更改代码以将您的字典更新为正确的类型,您的代码应该可以工作!