Получение соответствующего сообщения об ошибке using.net SDK


Я использую Facebook ads api SDK для .net (http://www.nuget.org/packages/Facebook/6.4.2 ) и когда я ловлю ошибку, сообщение всегда является одной и той же общей ошибкой в объекте сообщения об исключении:

(FacebookApiException - #100) недопустимый параметр

Это происходит с тех пор, как я перешел на версионные вызовы (v2.2) - до этого я использовал неверсионные вызовы, и это было нормально. Например, вот как я получаю ошибку (используя обычный try catch в c#):

try
{
    FacebookClient facebookClient = new FacebookClient();
    facebookClient.AccessToken = "<YOUR_ACCESS_TOKEN>"

    Dictionary<string, object> parameters = new Dictionary<string, object>();
    string name = Guid.NewGuid().ToString();
    parameters.Add("name", name);
    parameters.Add("conversion_specs", "");
    parameters.Add("campaign_id", "6024570447800");
    parameters.Add("creative", "{"creative_id":"6024570452200"}");
    parameters.Add("redownload", "false");
    parameters.Add("tracking_specs", "");
    parameters.Add("view_tags", "[]");

    var result = facebookClient.Post("v2.2/act_107893676040337/adgroups", parameters) as IDictionary<string, object>;
}
catch (Exception ex)
{
    FacebookApiException fbEx = ex as FacebookApiException;
    string errorMsg = fbEx.Message;
}

Это происходит потому, что Facebook изменил объект return error и добавил 2 новых поля: error_user_title, error_user_msg. Есть ли способ получить доступ к этим полям в объекте FacebookApiException ? Как извлечь соответствующее сообщение об ошибке?

1 2

1 ответ:

Я нырнул в эту проблему, и это не проблема Facebook. Проблема заключается в стороннем SDK.

Я связался с командой разработчиков, они знали об этой проблеме и исправили ее в последней бета-версии.