2011-03-10 64 views
1

我設法張貼到用戶牆上,但是當我嘗試將圖片添加到帖子的參數時,帖子失敗並且結果爲空。我認爲我做的一切都好,但我可以用一些幫助。提前致謝!添加圖片時貼到牆上失敗

IDictionary<string, object> parameters = new Dictionary<string, object>(); 
        parameters["access_token"] = fbAccessToken; 
        parameters["name"] = "my picture"; 
        parameters["message"] = "this is a picture uploaded from my the facebook sdk";       

        parameters.Add("picture", "http://t2.gstatic.com/images?q=tbn:Bebedm7ldqvC3M:http://www.configmac.com/images/logiciel/image.jpg"); 

        fbApp.PostAsync("me/feed", parameters, (val) => 
        { 
         if (val.Error == null) 
         { 
          // Asyncronous call, only executed after obtaining Facebook response 
          var result = (IDictionary<string, object>)val.Result; 
         } 
         else 
         { 
         } 
        }); 

回答

2
var picture = File.ReadAllBytes("a.jpg"); 
var fb = new FacebookClient(_accessToken); 

fb.PostCompleted += 
    (o, args) => 
    { 
     if (args.Error == null) 
     { 
      MessageBox.Show("Picture posted to wall successfully."); 
     } 
     else 
     { 
      MessageBox.Show(args.Error.Message); 
     } 
    }; 

dynamic parameters = new ExpandoObject(); 
parameters.caption = txtMessage.Text; 
parameters.method = "facebook.photos.upload"; 

var mediaObject = new FacebookMediaObject 
         { 
          FileName = Path.GetFileName(ofd.FileName), 
          ContentType = "image/jpeg" 
         }; 
mediaObject.SetValue(picture); 
parameters.source = mediaObject; 

fb.PostAsync(parameters); 
+0

您好,感謝您的幫助,但我想發佈在用戶的牆上的一幅畫,而不是創建新相冊和照片上傳到它,就如何做到這一點任何想法?再次感謝。 – 2011-03-10 17:25:32

+0

@prabir我嘗試了你的方法,但正如上面的評論者所寫的,它在專輯中創建了一張圖片。有沒有辦法只將圖片上傳到牆上而不在專輯中創建任何內容?謝謝 – Roland 2011-09-15 02:37:26