Как разместить картинку на стене? - PullRequest
4 голосов
/ 31 марта 2011

Кто-нибудь успешно публикует картинку на стене текущего пользователя?Это не работает, если аргумент рисунка существует. URL-адрес сообщения не отображается!Я использую последнюю версию FB C # SDK 5.0.8 Beta ...

var args = new Dictionary<string, object>();
args["name"] = "My App";
args["link"] = @"http://apps.facebook.com/test/";
args["caption"] = "My Caption";
args["description"] = "My Description";
args["picture"] = @"http://www.test.com/test.jpeg";
args["message"] = "My Message";
args["actions"] = "";
FbClient.PostAsync(@"/me/feed", args);

Ответы [ 3 ]

7 голосов
/ 22 июля 2011

Вот как я обработал размещение фотографии на стене пользователя Facebook. ImagePath и ImageName были строковыми параметрами, которые я передал в функцию, которая содержит этот код.

    var fbApp = new FacebookApp();
    var auth = new CanvasAuthorizer(fbApp);

    if (auth.IsAuthorized())
    {

        //Create a new dictionary of objects, with string keys
        Dictionary<string, object> parameters = new Dictionary<string, object>();

        string strDescription = txtDescription.Text;

        //Add elements to the dictionary
        if (string.IsNullOrEmpty(ImagePath) == false)
        {
            //There is an Image to add to the parameters                
            FacebookMediaObject media = new FacebookMediaObject
            {
                FileName = ImageName,
                ContentType = "image/jpeg"
            };

            byte[] img = File.ReadAllBytes(ImagePath);
            media.SetValue(img);

            parameters.Add("source", media);
            parameters.Add("message", strDescription);

            try
            {
                dynamic result = fbApp.Api("/me/photos", parameters, HttpMethod.Post);

            }
            catch (Exception ex)
            {
                //handle error....
                string strErr = ex.Message.ToString();
                lblValidationMsg.Text = strErr;
            }
        }            

    }
1 голос
/ 18 ноября 2014

Вы можете использовать пост в стене пользователя ( "Я / фотографии" )

    [TestMethod]
    [DeploymentItem(@".\resources\velas_navidad.gif", @".\")]
    public void Post_to_photos()
    {
        var ImagePath = "velas_navidad.gif";
        Assert.IsTrue(File.Exists(ImagePath));

        var client = new FacebookClient(token);
        dynamic parameters = new ExpandoObject();

        parameters.message = "Picture_Caption";
        parameters.subject = "test 7979";
        parameters.source = new FacebookMediaObject
        {
              ContentType = "image/gif",
              FileName = Path.GetFileName(ImagePath)
        }.SetValue(File.ReadAllBytes(ImagePath));

        dynamic result = client.Post("me/photos", parameters);

        Thread.Sleep(15000);
        client.Delete(result.id);
    }
1 голос
/ 31 марта 2011

Это известная ошибка в версии 5.0.8. Это было исправлено в текущем источнике и будет в следующей версии.

...