Ошибка создания события C # SDK - получение (OAuthException) (# 324) Файл изображения отсутствует или недействителен - PullRequest
0 голосов
/ 20 марта 2012

Я пытаюсь создать событие, используя C # SDK.Я использую код из следующего блога:

http://facebooksdk.blogspot.co.uk/2011/05/facebook-create-event.html

И я использую изображение, которое я скопировал из существующего события в Facebook.

Я получаю, однако, следующую ошибку:

(OAuthException) (# 324) Файл изображения отсутствует или недействителен

У кого-нибудь есть идеи, как заставить его работать?

Большое спасибо!

Код выглядит следующим образом:

 public string CreateEvent()
    {
        var fb = new FacebookWebClient();
        Dictionary<string, object> createEventParameters = new Dictionary<string, object>();
        createEventParameters.Add("name", "My birthday party )");
        createEventParameters.Add("start_time", DateTime.Now.AddDays(2).ToUniversalTime().ToString(new CultureInfo("en-US")));
        createEventParameters.Add("end_time", DateTime.Now.AddDays(2).AddHours(4).ToUniversalTime().ToString(new CultureInfo("en-US")));
        createEventParameters.Add("owner", "Balaji Birajdar");
        createEventParameters.Add("description", " ( a long description can be used here..)");

        //Add the "venue" details for the event
        JsonObject venueParameters = new JsonObject();
        venueParameters.Add("street", "dggdfgg");
        venueParameters.Add("city", "gdfgf");
        venueParameters.Add("state", "gfgdfgfg");
        venueParameters.Add("zip", "gfdgdfg");
        venueParameters.Add("country", "gfdgfg");
        venueParameters.Add("latitude", "100.0");
        venueParameters.Add("longitude", "100.0");
        createEventParameters.Add("venue", venueParameters);

        createEventParameters.Add("privacy", "OPEN");
        createEventParameters.Add("location", "fhdhdfghgh");

        //Add the event logo image

        //You can add the event logo too
        FacebookMediaObject logo = new FacebookMediaObject()
        {
            ContentType = "image/jpeg",
            FileName = @"C:\DevProjects\O2\o2PriorityFB\o2PriorityFB.Web\Images\logo.jpg"
        };

        logo.SetValue(System.IO.File.ReadAllBytes(logo.FileName));
        createEventParameters["@file.jpg"] = logo;

        JsonObject resul = fb.Post("/me/events", createEventParameters) as JsonObject;
        return resul["id"].ToString();
    }

1 Ответ

0 голосов
/ 21 марта 2012

Вам необходимо включить в запрос действительный токен доступа. Кроме того, я бы порекомендовал перейти на V6 Facebook C # SDK. Для используемой версии вам необходимо передать токен доступа в конструктор FacebookWebClient следующим образом:

var fb = new FacebookWebClient("valid_facebook_access_token"); 
...